Lucas-Angelo /
todosimple-api
Projeto de API RESTful em Spring Boot para gerenciamento de tarefas, com foco em CRUD e autenticação. Parte de um curso interdisciplinar na PUC Minas. Playlist do curso no YouTube
Loading repository data…
juliana-barreto / repository
API RESTful de E-commerce desenvolvida com Spring Boot, PostgreSQL e Swagger.
API RESTful profissional para orquestração de vendas e fluxo de entregas, focada em performance, segurança e integridade transacional.
O Sistema de Gestão de Pedidos é uma aplicação backend robusta desenvolvida com Spring Boot, projetada para simular o núcleo de um e-commerce escalável.
Este projeto vai além do CRUD básico. Ele implementa um modelo de domínio rico que orquestra o fluxo completo de uma venda: desde a catalogação de produtos e categorias, passando pela emissão de pedidos com itens variados, até o processamento do pagamento e mudança de status de entrega.
O diferencial técnico está na aplicação de Boas Práticas de Engenharia de Software, incluindo tratamento global de exceções, proteção contra vulnerabilidades de segurança (senhas criptografadas), validação estrita de dados e otimização de consultas ao banco de dados (resolução do problema N+1).
| Funcionalidade | Status | Detalhes Técnicos e Regras de Negócio |
|---|---|---|
| Gestão de Usuários | ✅ | CRUD completo com Criptografia de Senha (BCrypt) e validação de duplicidade de e-mail/CPF. |
| Catálogo de Produtos | ✅ | Relacionamento Muitos-para-Muitos entre Produtos e Categorias. |
| Orquestração de Pedidos | ✅ | Criação de pedidos com itens complexos. O preço do item é "congelado" no momento da compra (Histórico de Preço). |
| Otimização de Performance | ✅ | Consultas JPQL customizadas com JOIN FETCH para evitar o problema de N+1 Selects em listagens grandes. |
| Fluxo de Pagamento | ✅ | Associação 1:1 estrita entre Pedido e Pagamento usando @MapsId. |
| Validação de Dados | ✅ | Uso de Bean Validation (@NotNull, @Size, @Email) para garantir a integridade da entrada antes do processamento. |
| Tratamento de Erros | ✅ | Respostas de erro padronizadas (JSON) via ControllerAdvice, convertendo exceções Java em status HTTP corretos (404, 422, 500). |
A aplicação segue o padrão de arquitetura em camadas (Layered Architecture), garantindo desacoplamento e testabilidade.
Pageable para paginação de resultados.A estrutura reflete um sistema de alta coesão:
classDiagram
class User {
+Long id
+String name
+String email
+String phone
+String cpf
+String password
+Set~Order~ orders
}
class Order {
+Long id
+BigDecimal orderTotal
+Instant moment
+OrderStatus status
+User client
+Set~OrderItem~ items
+Payment payment
+BigDecimal getTotal()
+void calculateOrderTotal()
}
class Product {
+Long id
+String name
+String description
+BigDecimal price
+String imgUrl
+Set~Category~ categories
+Set~OrderItem~ items
}
class Category {
+Long id
+String name
+Set~Product~ products
}
class OrderItem {
+Integer quantity
+BigDecimal unitPrice
+Product product
+Order order
+BigDecimal getSubTotal()
}
class Payment {
+Long id
+Instant moment
+Order order
}
User "1" --> "*" Order : client
Order "1" --> "0..1" Payment : payment
Order "1" --> "*" OrderItem : items
OrderItem "*" --> "1" Product : product
Product "*" -- "*" Category : categories
A organização é modular por domínio (modules), facilitando a manutenção:
com.juliana_barreto.order_management_api
├── modules
│ ├── user # Controller, Service, Repository, DTO
│ ├── order # Lógica de Pedidos e Pagamentos
│ ├── order_item # Itens de pedido e Chaves Compostas
│ ├── product # Produtos
│ └── category # Categorias
├── shared
│ ├── exceptions # Exceções Customizadas
│ └── infra # Configurações
└── EcommerceApplication.java
git clone [https://github.com/SEU-USUARIO/ecommerce-backend.git](https://github.com/SEU-USUARIO/spring-ecommerce.git)
cd spring-ecommerce
export DB_PASSWORD=sua_senha_localset DB_PASSWORD=sua_senha_local./mvnw spring-boot:run
http://localhost:8080/swagger-ui.htmlSelected from shared topics, language and repository description—not editorial ratings.
Lucas-Angelo /
Projeto de API RESTful em Spring Boot para gerenciamento de tarefas, com foco em CRUD e autenticação. Parte de um curso interdisciplinar na PUC Minas. Playlist do curso no YouTube
ICEI-PUC-Minas-PPLES-TI /
Curso de monitoria ensinando a criar uma API RESTful com Spring Boot, MySQL e Docker-Compose
sergiovlvitorino /
This example shows a RESTFUL API using spring boot, spring security and Json Web Token(JWT).
ecureuill /
API REST de sistema de batalhas RPG por turnos
maiconalmeida00 /
API RESTful desenvolvida em Java com Spring Boot e MongoDB, como parte do curso Java COMPLETO – Programação Orientada a Objetos + Projetos, do professor Nélio Alves. O projeto implementa operações CRUD completas, relacionamentos entre documentos, DTOs, tratamento global de exceções e consultas personalizadas com @Query.
heliohdd /
API RESTful Java com Spring Boot e Spring Security e banco de dados MySQL.