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,044 12/10/2023
7.12.1 291 12/5/2023
7.12.0 358 11/29/2023
7.11.0 434 9/3/2023
7.10.3 245 8/29/2023
7.10.2 269 8/29/2023
7.10.1 239 8/28/2023
7.10.0 229 8/27/2023
7.9.0 292 8/7/2023
7.8.1 646 2/3/2023
7.8.0 327 2/2/2023
7.7.0 698 9/23/2022
7.6.3 539 7/25/2022
7.6.2 596 2/8/2022
7.6.1 511 1/23/2022
7.6.0 413 12/25/2021
7.5.1 363 12/21/2021
7.5.0 361 12/21/2021
7.4.0 433 12/16/2021
7.3.1 416 11/10/2021
7.3.0 425 10/23/2021
7.2.0 462 10/15/2021
7.1.1 398 10/12/2021
7.1.0 413 10/6/2021
7.0.0 361 10/5/2021
6.7.1 475 9/14/2021
6.7.0 383 9/14/2021
6.6.0 426 9/5/2021
6.5.0 812 8/18/2021
6.4.2 1,110 7/20/2021
6.4.1 1,265 4/22/2021
6.4.0 444 3/30/2021
6.3.0 566 1/9/2021
6.2.0 498 12/1/2020
6.1.0 608 11/19/2020
6.0.0 562 11/11/2020
5.5.1 513 11/6/2020
5.5.0 637 10/18/2020
5.4.0 558 10/7/2020
5.3.0 547 9/4/2020
5.2.0 570 9/3/2020
5.1.0 567 9/2/2020
5.0.0 594 8/30/2020
4.3.0 569 8/12/2020
4.2.1 577 8/9/2020
4.2.0 528 8/7/2020
4.1.0 568 7/20/2020
4.0.0 590 7/17/2020
3.4.0 587 7/12/2020
3.3.0 530 6/29/2020
3.2.0 584 6/27/2020
3.1.1 618 6/25/2020
3.1.0 615 6/24/2020
3.0.3 599 6/24/2020
3.0.2 567 6/23/2020
3.0.1 580 6/23/2020
3.0.0 579 6/23/2020
2.13.0 636 6/7/2020
2.12.0 557 6/5/2020
2.11.0 612 5/11/2020
2.10.0 564 4/15/2020
2.9.0 622 4/2/2020
2.8.1 668 3/23/2020
2.8.0 624 2/17/2020
2.7.1 581 2/4/2020
2.7.0 573 2/2/2020
2.6.1 671 1/24/2020
2.6.0 549 1/24/2020
2.5.1 731 12/28/2019
2.5.0 614 12/27/2019
2.4.1 608 12/10/2019
2.4.0 632 12/10/2019
2.3.1 623 12/5/2019
2.3.0 665 12/4/2019
2.2.0 623 11/17/2019
2.1.0 606 11/17/2019
2.0.2 600 11/7/2019
2.0.1 566 11/2/2019
2.0.0 653 10/29/2019
1.8.0 602 10/16/2019
1.7.0 602 10/15/2019
1.6.0 607 10/15/2019
1.5.0 613 10/14/2019
1.4.0 614 10/12/2019
1.3.0 638 10/11/2019
1.2.1 590 10/11/2019
1.2.0 581 10/11/2019
1.1.0 642 10/10/2019
1.0.0 643 10/10/2019

- update vs extension
- upgrade packages