The idea is to present starter asp.net core web api project with best (and not really good) practices implemented.
You can run the project either via Visual Studio or via docker (cmd docker-compose up
), then you need to import the Postman collection (Postman
-> File
-> Import
)
- Token Based Authentication, supporting
password
andrefresh_token
grant type, implemented manually - Identity Management implemented manually without Microsoft.AspNetCore.Identity and familiar
AspNet..
tables/collections - Fine-grained Authorization implemented manually
- Route Constraints for crosscutting route data validation
- Model State Validator Action Filter for crosscutting model state validation (
if(!ModelState.IsValid) { ... })
basically) - Screaming Architecture for organizing the folder structure
- MediatR as mediator between API layer and the domain
- MongoDb as a persistance mechanism (surprisingly)
- Unit Tests for all main parts of the App
- Docker support
- Github Action for running the test via docker and publishing image to docker hub