Aula 16 - Projeto Final: API Completa 🚀
Parabéns por chegar até aqui! Agora é hora de colocar todo o conhecimento em prática construindo uma API REST completa, do zero ao deploy.
😊 O Desafio Final
Você deve desenvolver uma API REST funcional seguindo todos os padrões aprendidos: Camadas (Controller/Service/Repository) + JPA + DTOs + Testes + Spring Security + JWT + Docker.
Sugestões de Temas:
- API de Biblioteca: Cadastro de livros, autores e empréstimos.
- API de Tarefas (To-do): Tarefas com prioridade, status e usuário dono.
- API de E-commerce Simples: Produtos, categorias e pedidos.
- API de Eventos: Cadastro de eventos e inscrições de participantes.
📊 Requisitos do Projeto
mindmap
root((Projeto Final))
Arquitetura
Camadas bem definidas
DTOs em todas as respostas
Persistencia
Entidades relacionadas
Spring Data JPA
Qualidade
Validacao Bean Validation
Testes unitarios com Mockito
Documentacao Swagger
Seguranca
Spring Security
JWT
Senhas com BCrypt
Producao
Dockerfile
docker-compose com banco 🧠 Checklist de Entrega
- Pelo menos 2 entidades relacionadas (ex:
@OneToMany/@ManyToOne). - CRUD completo (GET, POST, PUT, DELETE) usando DTOs nas respostas.
- Validação de dados de entrada com Bean Validation.
- Pelo menos 3 rotas protegidas por autenticação JWT.
- Pelo menos 3 testes unitários com Mockito no Service.
- Documentação Swagger acessível em
/swagger-ui.html. -
Dockerfileedocker-compose.ymlfuncionando comdocker compose up.
📝 Documentação Exigida
Note
Escreva um README.md explicando: 1. O que a API faz. 2. Como rodar o projeto (com e sem Docker). 3. Quais tecnologias foram utilizadas. 4. Como autenticar e testar as rotas protegidas (exemplo de login + uso do token).
🚀 Mini-projeto: Inicie o desenvolvimento da sua API. Comece pela modelagem das entidades e pela estrutura de camadas — os próximos passos (segurança, testes, Docker) se encaixam naturalmente sobre essa base.
Parabéns! Você concluiu o curso de Backend com Java e Spring Boot! ☕🚀
Você percorreu uma jornada completa: dos fundamentos do ecossistema Java, passando por Injeção de Dependências, APIs REST, persistência com JPA, testes automatizados, documentação e segurança com Spring Security/JWT, até o empacotamento com Docker. Você está pronto para construir e defender APIs profissionais no mercado de trabalho!