Kawhan Laurindo

WHOISKAWHAN / SOFTWARE ENGINEER / João Pessoa

Idioma

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
Voltar para o portfólio