PROJETOS / 2024
NLW Journey API
API em .NET escrita com DDD de verdade, não DDD de slide. Entity Framework, validação dinâmica com FluentValidation e Swagger para quem for consumir.
VISÃO GERAL
Uma API para planejar viagens: cadastrar uma viagem e as atividades associadas a ela. Feita durante o NLW da Rocketseat, serviu de terreno para aplicar Clean Code, SOLID e Domain-Driven Design num projeto pequeno o bastante para enxergar cada decisão.
CONCEITO
Domain-Driven Design. O domínio — viagens e atividades — fica no centro, isolado de banco e de HTTP. As regras de validação são declarativas com FluentValidation, em vez de uma cascata de ifs, e os erros viram exceções personalizadas tratadas num filtro único, então toda resposta de erro tem o mesmo formato.
FUNCIONALIDADES
- Cadastro de viagens e das atividades de cada viagem
- Validação declarativa com FluentValidation
- Exceções personalizadas com filtro global de erros
- Documentação interativa com Swagger
COMO FUNCIONA
A persistência usa Entity Framework com SQLite. Cada requisição passa pela validação do caso de uso antes de tocar o banco; se algo falha, a exceção sobe até o filtro, que devolve uma resposta padronizada.
TECNOLOGIAS
- CSharp
- DotNet