MongoWebApiStarter
A full-featured starter template for dotnet new
to quickly scaffold an Asp.Net 6 Web-Api project using pure vertical slice architecture with MongoDB as the data store.
Install & Scaffold
dotnet new -i MongoWebApiStarter
dotnet new mongowebapi -n MyAwesomeApp
Features
Platform
- base framework: .net 6
- api/web-service framework: FastEndpoints
- language: c#
- database: mongodb
Vertical Slice Architecture
- each use case/action/feature is isolated in it's own namespace (vertical slice).
- there is no cross contamination between feature slices.
- domain entities are contained in a seperate namespace as they are cross contaminating by nature.
- does not use the mediator pattern like most other templates.
Misc. Features
- strongly typed app settings which binds to
appsettings.json
- JWT token authentication with embedded claims & permissions
- permission & claim based authorization
- custom middleware for putting site offline (maintenance mode)
Api Features
- input validation with fluentvalidation rules
- account creation, email validation, login
- salted hash password storage and verification…