Esse projeto foi desenvolvido com foco em utilizar os princípios da arquitetura/design orientada a domínio (DDD), implementando também testes unitários e alguns conceitos de clean code e clean architeture, como injeção de dependências, modelo rico nas classes, princípios de responsabilidade única e máxima abstração de métodos (SOLID) entre outros.
Foram utilizados para este projeto os seguintes recursos:
- .NET 6
- ASP.NET MVC
- Entity Framework Core
- Identity
- DDD
- TDD
- JWT (Json Web Token)
- AutoMapper
O arquivo appsettings.json
contém a string de conexão com o banco.
Algumas considerações importantes:
- Esse projeto tem o intuito de simular uma situação real de negócio, mas é mais focado no aprendizado.
- Nesse modelo orientado a domínio é possível implementar testes unitários em praticamente todas as camadas da aplicação. No teste por questão de tempo foi aplicado nas classes do domínio e no repositório.
- Foram criadas migrations para inserção dos dados solicitados no banco. Não sendo necessário scripts SQL.
A API não está em produção, entretanto, caso queira utiliza-la, é bem fácil!
1° passo: Faça o pull do projeto; 2° passo: Troque a string de conexão do app.settings e no Contexto; 3° passo: Rode as migrations; 4° passo: Rode e consuma a API onde e como quiser!