Skip to content

API RESTful completa para gerenciamento de pedidos de uma loja, simulando um ecossistema real de e-commerce.

Notifications You must be signed in to change notification settings

Lorenzo-Zagallo/workshop-springboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Gerenciamento de Pedidos (API RESTful)

Java Spring Hibernate MicrosoftSQLServer

💡 Sobre o Projeto

Este projeto é uma API RESTful completa para gerenciamento de pedidos de uma loja, simulando um ecossistema real de e-commerce.

O objetivo principal foi desenvolver uma aplicação robusta utilizando as melhores práticas do ecossistema Spring Boot 3 e Java 21, focando em:

  • Arquitetura em Camadas (Controllers, Services, Repositories).
  • Tratamento de Exceções Global para respostas HTTP adequadas.
  • Padrão DTO (Data Transfer Object) para segurança e desacoplamento da entidade.
  • Injeção de Dependência via construtor (Best Practice).
  • Mapeamento Objeto-Relacional (ORM) complexo (Many-to-Many com atributos extras).

🛠 Tecnologias Utilizadas

  • Java 21 (LTS)
  • Spring Boot 3.4.2
  • Spring Data JPA / Hibernate
  • Banco de Dados: SQL Server (Produção) / H2 Database (Testes)
  • Maven (Gerenciamento de dependências)

📐 Modelo de Domínio

O sistema resolve o desafio de Associações Many-to-Many com atributos extras (na classe OrderItem), garantindo a integridade dos dados entre Pedidos e Produtos.

Principais Entidades:

  • User (Cliente)
  • Order (Pedido)
  • Product (Produto)
  • Category (Categoria)
  • Payment (Pagamento 1:1)
Logo do Projeto
Figura 1: Arquitetura do sistema

🚀 Como Executar

Pré-requisitos

  • Java 21 ou superior instalado.
  • Maven.
  • SQL Server (Opcional - o projeto está configurado para rodar com H2 em memória por padrão para testes rápidos).

Passos

  1. Clone o repositório:
git clone https://github.com/SEU-USUARIO/NOME-DO-REPO.git
  1. Entre na pasta:
cd workshop-springboot3-jpa
  1. Execute a aplicação:
./mvnw spring-boot:run
  1. Acesse o Console do Banco de Dados (H2):
    • URL: http://localhost:8080/h2-console
    • JDBC URL: jdbc:h2:mem:testdb
    • User: sa
    • Password: (vazio)

Endpoints Principais

Método Endpoint Descrição
GET /workshop/products Lista todos os produtos
GET /workshop/orders/{id} Busca pedido por ID (com itens)
POST /workshop/orders Cria um novo pedido
POST /workshop/users Cria um novo usuário

👨‍💻 Autor

Lorenzo Zagallo

About

API RESTful completa para gerenciamento de pedidos de uma loja, simulando um ecossistema real de e-commerce.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages