https://github.com/valentaiga/book-market
Implementation of CQRS with MediatR in ASP.NET Core 6.
https://github.com/valentaiga/book-market
clean-architecture cqrs-pattern dapper k8s-deployment mediatr outbox-pattern postgresql unit-of-work-pattern xunit
Last synced: about 1 month ago
JSON representation
Implementation of CQRS with MediatR in ASP.NET Core 6.
- Host: GitHub
- URL: https://github.com/valentaiga/book-market
- Owner: valentaiga
- Created: 2023-02-08T17:04:06.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-02-16T15:11:34.000Z (over 3 years ago)
- Last Synced: 2025-07-11T14:18:12.830Z (11 months ago)
- Topics: clean-architecture, cqrs-pattern, dapper, k8s-deployment, mediatr, outbox-pattern, postgresql, unit-of-work-pattern, xunit
- Language: C#
- Homepage:
- Size: 81.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Book e-shop
Purpose: **Learn new development practices**
Goal: Develop a WebAPI book e-shop
## Stack:
- [x] **.NET WebAPI**
- [x] **Postgres+Dapper**
- [x] **Memory cache**
- [x] **xUnit**
- [x] Integration
- [x] Unit
- [x] **Clean architecture**
- [x] CQRS
- [x] MediatR
- [x] Layers
- [x] **FluentMigration**
- [x] **FluentValidation**
- [ ] **k8s deploy**
- [x] **Swagger**
- [x] **Serilog**
- [x] Context based exceptions
- [x] Enrich log with trace identifier
- [ ] Sink to ES/Grafana ?
- [ ] Move setting to configuration file
- [x] **Mapster**
- [x] **Unit of work pattern**
- [ ] **Outbox pattern**
- [ ] **Authentication**
## Setup the solution
- Postgres setup/Change connection string
- local postgres in docker by command `docker run --name postgres-db -e POSTGRES_PASSWORD=admin -p 5432:5432 -d postgres`
- Restore nugets
- Build `Migrator` project
- Run migrator up (args: `-up`)
- Run Web project
- Api spec is on `/swagger` endpoint