📋 Sobre o projeto
O objetivo é conhecer os principais conceitos de mapeamento objeto-relacional (ORM) usando o Spring Data JPA. Para isso, foi desenvolvida uma API RESTful no domínio de uma academia de ginástica, com foco na modelagem das entidades e no fluxo backend Controller → Service → Repository.
⭐ Principais funcionalidades
- CRUD de Alunos (com CPF único)
- CRUD de Avaliações Físicas vinculadas a um aluno (peso, altura, data automática)
- Gestão de Matrículas (criação e remoção)
- Consultas avançadas: Derived Query (alunos por data) e Native Query (matrículas por bairro)
- Validação de dados com Hibernate Validator (@NotEmpty, @Size, @Positive)
- Deserializers de data customizados no formato brasileiro
dd/MM/yyyy - Relacionamento em cascata (remover aluno remove suas avaliações)
Escrevi um artigo completo mostrando como consumir essa API endpoint por endpoint no
Postman.
Ler o artigo →
🛠️ Tecnologias
- Java 11 — linguagem base
- Spring Boot — configuração e execução da aplicação
- Spring Web — construção dos endpoints REST (@RestController)
- Spring Data JPA — repositórios e mapeamento de entidades
- Hibernate Validator — validação das requisições
- MySQL / PostgreSQL — banco de dados relacional
- Lombok — redução de boilerplate
- Postman — testes e documentação dos endpoints
- Maven — build e dependências