MongoWebApiStarter 6.7.1

There is a newer version of this package available.
See the version list below for details.
dotnet new install MongoWebApiStarter::6.7.1
This package contains a .NET Template Package you can call from the shell/command line.

MongoWebApiStarter

A full-featured starter template for dotnet new to quickly scaffold a .Net 5 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 5
  • api/web-service framework: servicestack
  • 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 with attribute decorators
  • 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 with bcrypt
  • email queue with background service for sending emails with smtp
  • image uploading & retrieval
Data Access
  • data access done using mongodb.entities library
  • most data access logic is self contained in each vertical slice.
  • shared data access logic is located in the Logic.* namespace.
Integration Tests
Bonuses
Visual Studio New Item Template

a visual studio extension is availabe in the .vs-new-item-template folder that will enable you to quickly add a new vertical slice feature file set. after you install the vsix, you will have a new item called "Vertical Slice Feature" in the "add > new item" dialog of visual studio.

Linux Server Configuration

instructions & config files for setting up a linux server for deployment are available in the .linux-server-setup folder

  • net5.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
7.12.2 2,862 12/10/2023
7.12.1 241 12/5/2023
7.12.0 290 11/29/2023
7.11.0 382 9/3/2023
7.10.3 185 8/29/2023
7.10.2 211 8/29/2023
7.10.1 183 8/28/2023
7.10.0 183 8/27/2023
7.9.0 236 8/7/2023
7.8.1 604 2/3/2023
7.8.0 285 2/2/2023
7.7.0 635 9/23/2022
7.6.3 495 7/25/2022
7.6.2 547 2/8/2022
7.6.1 467 1/23/2022
7.6.0 362 12/25/2021
7.5.1 317 12/21/2021
7.5.0 300 12/21/2021
7.4.0 389 12/16/2021
7.3.1 367 11/10/2021
7.3.0 380 10/23/2021
7.2.0 413 10/15/2021
7.1.1 350 10/12/2021
7.1.0 366 10/6/2021
7.0.0 316 10/5/2021
6.7.1 428 9/14/2021
6.7.0 337 9/14/2021
6.6.0 377 9/5/2021
6.5.0 768 8/18/2021
6.4.2 1,063 7/20/2021
6.4.1 1,220 4/22/2021
6.4.0 393 3/30/2021
6.3.0 520 1/9/2021
6.2.0 450 12/1/2020
6.1.0 558 11/19/2020
6.0.0 517 11/11/2020
5.5.1 470 11/6/2020
5.5.0 595 10/18/2020
5.4.0 518 10/7/2020
5.3.0 500 9/4/2020
5.2.0 523 9/3/2020
5.1.0 516 9/2/2020
5.0.0 547 8/30/2020
4.3.0 520 8/12/2020
4.2.1 533 8/9/2020
4.2.0 481 8/7/2020
4.1.0 519 7/20/2020
4.0.0 547 7/17/2020
3.4.0 545 7/12/2020
3.3.0 480 6/29/2020
3.2.0 540 6/27/2020
3.1.1 578 6/25/2020
3.1.0 567 6/24/2020
3.0.3 555 6/24/2020
3.0.2 519 6/23/2020
3.0.1 537 6/23/2020
3.0.0 535 6/23/2020
2.13.0 588 6/7/2020
2.12.0 512 6/5/2020
2.11.0 564 5/11/2020
2.10.0 522 4/15/2020
2.9.0 576 4/2/2020
2.8.1 624 3/23/2020
2.8.0 577 2/17/2020
2.7.1 525 2/4/2020
2.7.0 531 2/2/2020
2.6.1 628 1/24/2020
2.6.0 503 1/24/2020
2.5.1 690 12/28/2019
2.5.0 569 12/27/2019
2.4.1 562 12/10/2019
2.4.0 580 12/10/2019
2.3.1 577 12/5/2019
2.3.0 621 12/4/2019
2.2.0 580 11/17/2019
2.1.0 558 11/17/2019
2.0.2 555 11/7/2019
2.0.1 521 11/2/2019
2.0.0 610 10/29/2019
1.8.0 553 10/16/2019
1.7.0 554 10/15/2019
1.6.0 555 10/15/2019
1.5.0 565 10/14/2019
1.4.0 567 10/12/2019
1.3.0 577 10/11/2019
1.2.1 544 10/11/2019
1.2.0 536 10/11/2019
1.1.0 597 10/10/2019
1.0.0 577 10/10/2019

- update vs extension
- upgrade packages