- Todor Dimitrov
- ShopingSystem is example project for ASP.NET Core with Domain Driven Design
- Bounded contexts - Shoping Request, Published Shoping Request and Execution of the Request
- The solution contains a structure of 5 layers, divided into different projects
- Domain - This layer contains rich domain models with validation, domain events, domain exceptions, factories and domain repositories public interface
- ShopingRequestSystem.Domain.Identity
- ShopingRequestSystem.Domain.Requests
- ShopingRequestSystem.Domain.PublishedRequests
- ShopingRequestSystem.Domain.RequestExecutions
- Application
- ShopingRequestSystem.Application - contains command and query handlers, validators, models, domain event handlers
- ShopingRequestSystem.Queries - contains queries and query handlers, models and data sources
- Infrastructure - Database configurations, migrations and repository implementations
- ShopingRequestSystem.Infrastructure
- Web - Contains controllers and middlewares
- ShopingRequestSystem.Web
- Startup - Contains web application configurations
- ShopingRequestSystem.Startup
- Domain - This layer contains rich domain models with validation, domain events, domain exceptions, factories and domain repositories public interface
1. docker-compose build
2. docker-compose up
navigate to http://localhost:5001/swagger/index.html
- .NET 5
- ASP.NET Core
- Autofac
- MediatR
- Automapper
- Entity Framework Core
- Microsoft SQL Server
- JWT
- FluentValidation
- Swagger
- Bounded contexts - Shoping Request, Published Shoping Request and Execution of the Request
- There is separation of the read and write operations with command and query handlers
- There are database repositories for every domain model
- Used for quering shoping requests