/ASP.NET-Core-Clean-Architecture-CQRS-Event-Sourcing

ASP.NET Core, C#, CQRS Event Sourcing, REST API, DDD, SOLID Principles and Clean Architecture

Primary LanguageC#MIT LicenseMIT

ASP.NET Core C# CQRS Event Sourcing, REST API, DDD, SOLID Principles and Clean Architecture

Build SonarCloud CodeQL DevSkim License

Lines of Code Coverage Maintainability Rating Security Rating Vulnerabilities Bugs Code Smells

Sparkline

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
  • Entity Framework Core 8
  • Unit & Integration Tests + xUnit + FluentAssertions
  • Polly
  • AutoMapper
  • FluentValidator
  • MediatR
  • Swagger UI
  • HealthChecks
  • SQL Server
  • MongoDB
  • Redis (Cache)
  • Docker & Docker Compose

Architecture

CQRS Pattern

  • 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

Next step, run the command in the terminal:

docker-compose up --build --abort-on-container-exit --remove-orphans

Now just open the url in the browser:

http://localhost:5072/swagger/

MiniProfiler for .NET

To access the page with the performance indicators and performance:

http://localhost:5072/profiler/results-index

License