Loic.kgrzybek.sample-dotnet-core-cqrs-api
1.0.0
dotnet add package Loic.kgrzybek.sample-dotnet-core-cqrs-api --version 1.0.0
NuGet\Install-Package Loic.kgrzybek.sample-dotnet-core-cqrs-api -Version 1.0.0
<PackageReference Include="Loic.kgrzybek.sample-dotnet-core-cqrs-api" Version="1.0.0" />
<PackageVersion Include="Loic.kgrzybek.sample-dotnet-core-cqrs-api" Version="1.0.0" />
<PackageReference Include="Loic.kgrzybek.sample-dotnet-core-cqrs-api" />
paket add Loic.kgrzybek.sample-dotnet-core-cqrs-api --version 1.0.0
#r "nuget: Loic.kgrzybek.sample-dotnet-core-cqrs-api, 1.0.0"
#:package Loic.kgrzybek.sample-dotnet-core-cqrs-api@1.0.0
#addin nuget:?package=Loic.kgrzybek.sample-dotnet-core-cqrs-api&version=1.0.0
#tool nuget:?package=Loic.kgrzybek.sample-dotnet-core-cqrs-api&version=1.0.0
Sample .NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture.
CI
Give a Star! ⭐
If you like this project, learn something or you are using it in your applications, please give it a star. Thanks!
Description
Sample .NET Core REST API application implemented with basic CQRS approach and Domain Driven Design.
Architecture Clean Architecture
CQRS
Read Model - executing raw SQL scripts on database views objects (using Dapper).
Write Model - Domain Driven Design approach (using Entity Framework Core).
Commands/Queries/Domain Events handling using MediatR library.
Domain
Validation
Data validation using FluentValidation
Problem Details for HTTP APIs standard implementation using ProblemDetails
Caching
Using Cache-Aside pattern and in-memory cache.
Integration
Outbox Pattern implementation using Quartz.NET
Related blog articles
Simple CQRS implementation with raw SQL and DDD
Domain Model Encapsulation and PI with Entity Framework 2.2
How to publish and handle Domain Events
Handling Domain Events: Missing Part
Cache-Aside Pattern in .NET Core
How to run application
- Create empty database.
- Execute InitializeDatabase.sql script.
- Set connection string (in appsettings.json or by user secrets mechanism).
- Run!
How to run Integration Tests
- Create empty database.
- Execute InitializeDatabase.sql script.
- Set connection string using environment variable named
ASPNETCORE_SampleProject_IntegrationTests_ConnectionString
- Run tests from project src/Tests/SampleProject.IntegrationTests
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net5.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.0 | 0 | 7/31/2021 |