C# Domain-Driven Design Sample
Example of how to build applications with ASP.NET Core and DDD concepts.
How to use:
- You will need Visual Studio 2019 and the current .NET Core SDK.
- The current SDK and tools can be downloaded from https://dot.net/core.
- You will need RabbitMQ message broker.
- You will need a Elasticsearch database.
Enviroment
- RabbitMQ
- By default, application connect to http://localhost:5672
- Elasticsearch
- Address configured on appsettings.json
Technologies implemented:
- ASP.NET Core 3.1
- Entity Framework Core 3.1
- .NET Core Native DI
- Entity Framework Core (with SQL Server)
- RabbitMQ (EasyNetQ)
- Elasticsearch (Nest)
- XUnit
- AutoMapper
- FluentValidation
- Swagger
Architecture:
- Responsibility separation concerns, SOLID, YAGNI and Clean Code
- Domain Driven Design (Layers and Domain Model Pattern)
- Domain Notification
- CQRS (Imediate Consistency)
- Repository
- IoC
- Messaging