5.0 KiB
5.0 KiB
ASP.NET Core C# CQRS Event Sourcing, REST API, DDD, SOLID Principles and Clean Architecture
About the repoitory: Open source project written in the latest version of ASP.NET Core, implementing the concepts of S.O.L.I.D, Clean Code, CQRS (Command Query Responsibility Segregation)
Give it a star! ⭐
If you liked this project, learned something, give it a star. Thank you!
Technologies
ASP.NET Core 8- ASP.NET Core 9
Entity Framework Core 8- Entity Framework Core 9
- EF Compiled Queries (https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/ef/language-reference/compiled-queries-linq-to-entities)
- Unit & Integration Tests + xUnit + FluentAssertions (7.1.0)
- Polly
- AutoMapper (15)
- FluentValidator
- MediatR (13)
Swagger UI- OpenApi
- Scalar - Interactive API Reference from OpenAPI/Swagger (https://github.com/scalar/scalar)
- HealthChecks
- SQL Server
- MongoDB
- Redis (Cache)
- Docker & Docker Compose
Architecture
- Full architecture with responsibility separation concerns, SOLID and Clean Code
- Domain Driven Design (Layers and Domain Model Pattern)
- Domain Events
- Domain Notification
- Domain Validations
- CQRS
- Event Sourcing
- Unit of Work
- Repository Pattern
- Resut Pattern
Running the application
After cloning the repository to the desired folder, run the command in the terminal at the root of the project:
dotnet clean Shop.sln --nologo /tl && dotnet build Shop.sln --nologo /tl
Set passwords in the .env file:
MSSQL_SA_PASSWORD=YOUR_STRONG_!Passw0rd
REDIS_PASSWORD=YOUR_STRONG_!Passw0rd
Next step, run the command in the terminal:
docker-compose up --build
Now just open the url in the browser:
http://localhost:{port}/scalar/v1
MiniProfiler for .NET
To access the page with the performance indicators and performance:
http://localhost:{port}/profiler/results-index
