This Sample Application Features:
- In-memory EF Core with sqllite version 3.1.4
- Mediatr library by Jimmy Bogard
- Usage of CQRS & ES pattern with a separate read model, and a separate reporting read model in an application
- Command handler validation with fluent validation. This gets hooked it up to be triggered via mediatr pipeline rather than via controller.
- Swagger definition
- The use of DDD Aggregate root and domain service and domain event.
- The application structure follows SOLID / Clean architecture application by Jimmy Bogard - (or Jason Taylor) with custom CQRS/ES implementation.
- Uses Shouldly with xUnit for unit test for assertion
- Uses MartinCostello.Logging.XUnit to pipe logging output to xUnit output
- Uses Pressius for test values permutation
- Uses MassTransit and RabbitMQ to serves as a bus and publishes the events