Projeto pessoal·set/2026 – atual
Medflow
API de gestão de pacientes, pedidos e catálogo de exames clínicos.
- classes de teste
- 13
- erros padronizados
- RFC 9457
Problema
Sistemas clínicos têm regras críticas: um pedido de exame inconsistente afeta diretamente o paciente.
Solução
Uma API REST que valida em dois níveis (contrato HTTP e invariantes na entidade), pagina listagens e responde erros num formato padronizado e previsível para o cliente.
Meu papel
Projeto individual: modelagem, implementação, testes e documentação.
- → Módulos por funcionalidade, com DTOs como única borda pública
- → Concorrência otimista com @Version
- → Erros em Problem Details (RFC 9457) com catálogo de tipos
Decisões técnicas
Validação em duas camadas
Bean Validation no DTO protege o contrato; a entidade protege as próprias invariantes.
URNs estáveis para erros
Cada tipo de problema tem um identificador fixo, independente de domínio público.
422 para validação
JSON compreendido, mas dados fora do contrato: 422 em vez de 400.
Stack
- Java 21
- Spring Boot 4
- Spring Data JPA
- PostgreSQL
- Bean Validation
- JUnit 5
- MockMvc
Ao vivo do GitHub
- Java 73.3%
- Python 26.7%
último commit: test(persistence): registra validacao independente ·