MongoWebApiStarter 6.7.0

There is a newer version of this package available.
See the version list below for details.
dotnet new install MongoWebApiStarter::6.7.0                
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,020 12/10/2023
7.12.1 286 12/5/2023
7.12.0 336 11/29/2023
7.11.0 429 9/3/2023
7.10.3 238 8/29/2023
7.10.2 254 8/29/2023
7.10.1 234 8/28/2023
7.10.0 224 8/27/2023
7.9.0 286 8/7/2023
7.8.1 641 2/3/2023
7.8.0 322 2/2/2023
7.7.0 691 9/23/2022
7.6.3 532 7/25/2022
7.6.2 587 2/8/2022
7.6.1 504 1/23/2022
7.6.0 402 12/25/2021
7.5.1 356 12/21/2021
7.5.0 336 12/21/2021
7.4.0 426 12/16/2021
7.3.1 409 11/10/2021
7.3.0 418 10/23/2021
7.2.0 455 10/15/2021
7.1.1 391 10/12/2021
7.1.0 406 10/6/2021
7.0.0 354 10/5/2021
6.7.1 465 9/14/2021
6.7.0 376 9/14/2021
6.6.0 419 9/5/2021
6.5.0 805 8/18/2021
6.4.2 1,100 7/20/2021
6.4.1 1,258 4/22/2021
6.4.0 435 3/30/2021
6.3.0 559 1/9/2021
6.2.0 489 12/1/2020
6.1.0 600 11/19/2020
6.0.0 555 11/11/2020
5.5.1 506 11/6/2020
5.5.0 629 10/18/2020
5.4.0 551 10/7/2020
5.3.0 539 9/4/2020
5.2.0 563 9/3/2020
5.1.0 556 9/2/2020
5.0.0 587 8/30/2020
4.3.0 560 8/12/2020
4.2.1 567 8/9/2020
4.2.0 521 8/7/2020
4.1.0 560 7/20/2020
4.0.0 583 7/17/2020
3.4.0 580 7/12/2020
3.3.0 520 6/29/2020
3.2.0 577 6/27/2020
3.1.1 611 6/25/2020
3.1.0 607 6/24/2020
3.0.3 589 6/24/2020
3.0.2 560 6/23/2020
3.0.1 573 6/23/2020
3.0.0 571 6/23/2020
2.13.0 627 6/7/2020
2.12.0 548 6/5/2020
2.11.0 603 5/11/2020
2.10.0 556 4/15/2020
2.9.0 612 4/2/2020
2.8.1 661 3/23/2020
2.8.0 615 2/17/2020
2.7.1 563 2/4/2020
2.7.0 566 2/2/2020
2.6.1 663 1/24/2020
2.6.0 540 1/24/2020
2.5.1 724 12/28/2019
2.5.0 607 12/27/2019
2.4.1 601 12/10/2019
2.4.0 624 12/10/2019
2.3.1 616 12/5/2019
2.3.0 656 12/4/2019
2.2.0 616 11/17/2019
2.1.0 599 11/17/2019
2.0.2 593 11/7/2019
2.0.1 559 11/2/2019
2.0.0 646 10/29/2019
1.8.0 593 10/16/2019
1.7.0 593 10/15/2019
1.6.0 598 10/15/2019
1.5.0 605 10/14/2019
1.4.0 607 10/12/2019
1.3.0 631 10/11/2019
1.2.1 582 10/11/2019
1.2.0 572 10/11/2019
1.1.0 635 10/10/2019
1.0.0 621 10/10/2019

- update vs extension
- upgrade packages