Este repositório contém a implementação de um sistema CRUD para gerenciamento de membros, desenvolvido com Clean Architecture e utilizando o padrão CQRS. Este projeto foi criado com foco em boas práticas de arquitetura de software, separação de responsabilidades e escalabilidade.
- .NET 8: Framework principal para a aplicação.
- Entity Framework Core: ORM para comunicação com o banco de dados.
- MySQL: Banco de dados relacional utilizado para armazenamento dos dados.
- CQRS: Padrão de design para separação de responsabilidades entre comandos e consultas.
- MediatR: Biblioteca para implementação do padrão CQRS.
- Clean Architecture: Arquitetura para garantir separação de camadas e responsabilidades.
-
CRUD de Membros:
- Criação de um novo membro.
- Leitura de dados de um membro por ID.
- Atualização dos dados de um membro.
- Exclusão de um membro.
-
Boas Práticas:
- Validação de domínio.
- Camadas bem definidas (Aplicação, Domínio, Infraestrutura).
- Testabilidade garantida por abstrações e injeção de dependências.
O projeto segue os princípios da Clean Architecture, sendo dividido nas seguintes camadas:
- Domain:
- Application:
- Infrastructure:
- CrossCutting:
- Presentation:
- API em ASP.NET Core para exposição dos endpoints.