This project is an example of a shopping list API to show some software architectural concepts, mainly CQRS (Command and Query Responsibility Segregation).
The server is an ASP.NET Minimal API using .NET 9, with as few external dependencies as possible.
The links below are for studying and knowledge reference.
- CQRS pattern
- Notifications pattern
- Feature folders
- Structured logging
- Nullable type checking
- Unit tests
- API tests
- API documentation with examples
The project requires only .NET 9 installed. The API uses an in-memory database.
The runserverlocal.ps1
script builds and runs the API, listening on https://localhost:5001
.
The rununittests.ps1
script runs the unit tests and generates a testing coverage report at a TestResults
folder. It requires the ReportGenerator installed.
This project is NativeAOT and trimming compatible, through the PublishAot
flag. Check out the API project's .csproj to understand how it works.