Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adshan/dotnet-digital-school-messaging-rabbitmq

Microservices, Clean Architecture, CQRS with MediatR, Repository Pattern, Fluent Validation and RabbitMQ such as messaging broker.
https://github.com/adshan/dotnet-digital-school-messaging-rabbitmq

cqrs-pattern dotnet entity-framework fluent-validations integrate-events mediator-pattern microservice net5 rabbitmq repository-pattern sql-server unit-testing

Last synced: 27 days ago
JSON representation

Microservices, Clean Architecture, CQRS with MediatR, Repository Pattern, Fluent Validation and RabbitMQ such as messaging broker.

Awesome Lists containing this project

README

        

# core-digital-school-messaging-rabbitmq

Aplicação .Net Core 5.0 Web API desenvolvida com o objetivo didático de demonstrar o funcionamento de mensageria utilizando o RabbitMQ como messaging broker.

# Este projeto contém:

- Arquitetura Microsserviços;
- RabbitMQ como messaging broker;
- Message Bus;
- Atomicidade com o armazenamento dos Integration Events;
- Pattern CQRS com MediatR;
- Pattern Repository;
- Fluent Validation;
- Mapeamento das entidades por Fluent API;
- Entity Framework (EF) Core;
- Persistência em SQLServer;
- DTO e AutoMapper;
- Versionamento da API;
- Swagger/Swagger UI;
- Testes Unitários com Moq e xUnit (Padrões AAA e Given-When-Then)

# Sobre Microsserviços:
- O projeto é didático, logo aceita-se que os serviços não tenham BD heterogêneos e que estes persistam no mesmo.

# Como executar:
- Clonar / baixar o repositório em seu workplace.
- Baixar o .Net Core SDK e o Visual Studio / Code mais recentes.
- Instalar o RabbitMQ local ou em container.
- Nas configurações da API, ajustar o PATH do XML do Swagger.

# Sobre
Este projeto foi desenvolvido por Anderson Hansen sob [MIT license](LICENSE).