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 3,017 12/10/2023
7.12.1 285 12/5/2023
7.12.0 335 11/29/2023
7.11.0 428 9/3/2023
7.10.3 237 8/29/2023
7.10.2 253 8/29/2023
7.10.1 233 8/28/2023
7.10.0 223 8/27/2023
7.9.0 285 8/7/2023
7.8.1 640 2/3/2023
7.8.0 321 2/2/2023
7.7.0 690 9/23/2022
7.6.3 531 7/25/2022
7.6.2 586 2/8/2022
7.6.1 503 1/23/2022
7.6.0 401 12/25/2021
7.5.1 355 12/21/2021
7.5.0 335 12/21/2021
7.4.0 423 12/16/2021
7.3.1 408 11/10/2021
7.3.0 417 10/23/2021
7.2.0 454 10/15/2021
7.1.1 390 10/12/2021
7.1.0 405 10/6/2021
7.0.0 353 10/5/2021
6.7.1 464 9/14/2021
6.7.0 375 9/14/2021
6.6.0 418 9/5/2021
6.5.0 804 8/18/2021
6.4.2 1,099 7/20/2021
6.4.1 1,257 4/22/2021
6.4.0 434 3/30/2021
6.3.0 558 1/9/2021
6.2.0 488 12/1/2020
6.1.0 599 11/19/2020
6.0.0 554 11/11/2020
5.5.1 505 11/6/2020
5.5.0 628 10/18/2020
5.4.0 550 10/7/2020
5.3.0 538 9/4/2020
5.2.0 562 9/3/2020
5.1.0 555 9/2/2020
5.0.0 586 8/30/2020
4.3.0 559 8/12/2020
4.2.1 566 8/9/2020
4.2.0 520 8/7/2020
4.1.0 559 7/20/2020
4.0.0 582 7/17/2020
3.4.0 579 7/12/2020
3.3.0 519 6/29/2020
3.2.0 576 6/27/2020
3.1.1 610 6/25/2020
3.1.0 606 6/24/2020
3.0.3 588 6/24/2020
3.0.2 559 6/23/2020
3.0.1 570 6/23/2020
3.0.0 570 6/23/2020
2.13.0 626 6/7/2020
2.12.0 547 6/5/2020
2.11.0 602 5/11/2020
2.10.0 555 4/15/2020
2.9.0 611 4/2/2020
2.8.1 660 3/23/2020
2.8.0 614 2/17/2020
2.7.1 562 2/4/2020
2.7.0 565 2/2/2020
2.6.1 662 1/24/2020
2.6.0 539 1/24/2020
2.5.1 723 12/28/2019
2.5.0 606 12/27/2019
2.4.1 600 12/10/2019
2.4.0 623 12/10/2019
2.3.1 615 12/5/2019
2.3.0 655 12/4/2019
2.2.0 615 11/17/2019
2.1.0 598 11/17/2019
2.0.2 592 11/7/2019
2.0.1 558 11/2/2019
2.0.0 645 10/29/2019
1.8.0 592 10/16/2019
1.7.0 592 10/15/2019
1.6.0 597 10/15/2019
1.5.0 604 10/14/2019
1.4.0 606 10/12/2019
1.3.0 630 10/11/2019
1.2.1 581 10/11/2019
1.2.0 571 10/11/2019
1.1.0 634 10/10/2019
1.0.0 620 10/10/2019

- update vs extension
- upgrade packages