API desenvolvida para gerenciamento de certificações online, permitindo que estudantes realizem testes técnicos, validem conhecimentos em tecnologias específicas e acompanhem sua posição em um ranking global de desempenho.
A aplicação foi construída com foco em organização, separação de responsabilidades e escalabilidade, contemplando os seguintes componentes principais:
Responsáveis pela exposição dos endpoints da API e pelo tratamento das requisições HTTP.
Centralizam as regras de negócio da aplicação, incluindo validação de elegibilidade, correção de respostas e processamento das certificações.
Responsáveis pela persistência e acesso aos dados utilizando Spring Data JPA.
Representam o domínio da aplicação e o mapeamento das estruturas persistidas no banco de dados.
Utilizados para transporte de dados entre as camadas da aplicação, mantendo clareza e desacoplamento.
Camada voltada ao tratamento de erros e exceções customizadas, proporcionando respostas mais consistentes para a API.
- Java 21+
- Maven 3.x
- Docker
- Docker Compose
git clone https://github.com/1LucasSena/certification-api.git
cd certification-apidocker-compose up -dmvn spring-boot:runEste projeto foi desenvolvido originalmente durante o evento NLW Expert – Trilha Java, da Rocketseat, e posteriormente evoluído com adaptações técnicas voltadas para modernização do stack, robustez da aplicação e melhoria na organização da arquitetura.
A proposta do projeto é consolidar conceitos práticos de desenvolvimento backend com Java e Spring Boot, incluindo persistência de dados, exposição de endpoints REST, serialização JSON, tratamento de exceções e estruturação de regras de negócio.
- Validação de elegibilidade do estudante
- Bloqueio de repetição de certificações já concluídas
- Correção automática de respostas
- Cálculo de nota em tempo real
- Cadastro e persistência de novos estudantes
- Ranking global com os Top 10 melhores desempenhos
Além da versão base do projeto, esta implementação recebeu melhorias importantes:
- Upgrade para Java 21
- Migração para Spring Boot 4.0.3
- Melhoria na serialização JSON com
@JsonManagedReferencee@JsonIgnore - Refatoração dos controllers com
ResponseEntity - Tratamento de erros com exceções customizadas
- Melhor organização das respostas da API
- Ajustes na lógica de elegibilidade e processamento das certificações
| Método | Endpoint | Descrição |
|---|---|---|
POST |
/students/verifyIfHasCertification |
Verifica se o aluno já possui a certificação |
POST |
/students/certification/answer |
Envia as respostas e processa a nota |
GET |
/ranking/top10 |
Retorna o ranking com os 10 melhores alunos |
- Autenticação com JWT
- Documentação com Swagger/OpenAPI
- Testes unitários e de integração
- Paginação no ranking
- Histórico completo de certificações por aluno
- Deploy em ambiente cloud