Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/adshan/dotnet-digital-school-messaging-rabbitmq
- Owner: AdsHan
- License: mit
- Created: 2021-06-26T20:30:40.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-07-09T11:50:50.000Z (over 3 years ago)
- Last Synced: 2024-11-06T04:19:53.800Z (3 months ago)
- Topics: cqrs-pattern, dotnet, entity-framework, fluent-validations, integrate-events, mediator-pattern, microservice, net5, rabbitmq, repository-pattern, sql-server, unit-testing
- Language: C#
- Homepage:
- Size: 88.9 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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).