Skip to content

tchelidze/Locker.Api

Repository files navigation

Sweet ASP.NET Core 3.0 Web Api Implementation

What is this repo all about ?

The idea is to present starter asp.net core web api project with best (and not really good) practices implemented.

How can i play with it ?

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)

Boring summary of structure/features included

  1. Token Based Authentication, supporting password and refresh_token grant type, implemented manually
  2. Identity Management implemented manually without Microsoft.AspNetCore.Identity and familiar AspNet.. tables/collections
  3. Fine-grained Authorization implemented manually
  4. Docker support
  5. Github Action for running the test via docker and publishing image to docker hub
  6. Unit Tests for all main parts of the App
  7. MongoDb as a persistance mechanism (surprisingly)
  8. Screaming Architecture for organizing the folder structure
  9. MediatR as mediator between API layer and the domain
  10. Route Constraints for crosscutting route data validation
  11. Model State Validator Action Filter for crosscutting model state validation (if(!ModelState.IsValid) { ... }) basically)

Wait a sec, why should i care ?

--