This repository contains a C# .NET Core application to demonstrate the use of RabbitMq with MassTransit implemented with ASP.NET Core utilizing best practices.
- ASP.NET Core -v9
- Entity Framework Core -v9
- Minio
- DDD (Domain-Driven Design)
- EDD (Event-Driven Design)
- Clean Architecture
- Clean Code
- Repository Design Pattern
- CQRS Design Pattern
- MassTransit
- PostgreSQL Database
- RabbitMq
- Docker
- FluentValidation for server-side validation
- AutoMapper for object mapping
- MassTransit for bus management
- Minio for file management
- Swashbuckle for documentation
This repository is intended for demonstrating best practices in software development. In real-world applications, these practices should be selected based on the specific requirements of each project.
Run the following command in project directory:
docker-compose up -d
Docker compose in this application includes 4 services:
- Minio
- Postgres
- RabbitMQ
- ASP.NET CORE API
Web Api URLS:
-
ASP.NET Core API will be listening at
http://localhost:5000 -
Swagger will be listening at
http://localhost:5000/swagger/index.html