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 10, 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 10 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.