MongoWebApiStarter 6.6.0

There is a newer version of this package available.
See the version list below for details.
dotnet new install MongoWebApiStarter::6.6.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 2,789 12/10/2023
7.12.1 240 12/5/2023
7.12.0 288 11/29/2023
7.11.0 381 9/3/2023
7.10.3 183 8/29/2023
7.10.2 210 8/29/2023
7.10.1 182 8/28/2023
7.10.0 182 8/27/2023
7.9.0 235 8/7/2023
7.8.1 603 2/3/2023
7.8.0 284 2/2/2023
7.7.0 630 9/23/2022
7.6.3 494 7/25/2022
7.6.2 544 2/8/2022
7.6.1 464 1/23/2022
7.6.0 361 12/25/2021
7.5.1 316 12/21/2021
7.5.0 299 12/21/2021
7.4.0 388 12/16/2021
7.3.1 366 11/10/2021
7.3.0 379 10/23/2021
7.2.0 412 10/15/2021
7.1.1 348 10/12/2021
7.1.0 365 10/6/2021
7.0.0 315 10/5/2021
6.7.1 427 9/14/2021
6.7.0 336 9/14/2021
6.6.0 376 9/5/2021
6.5.0 767 8/18/2021
6.4.2 1,062 7/20/2021
6.4.1 1,218 4/22/2021
6.4.0 392 3/30/2021
6.3.0 518 1/9/2021
6.2.0 446 12/1/2020
6.1.0 555 11/19/2020
6.0.0 515 11/11/2020
5.5.1 468 11/6/2020
5.5.0 592 10/18/2020
5.4.0 516 10/7/2020
5.3.0 497 9/4/2020
5.2.0 520 9/3/2020
5.1.0 513 9/2/2020
5.0.0 546 8/30/2020
4.3.0 517 8/12/2020
4.2.1 531 8/9/2020
4.2.0 479 8/7/2020
4.1.0 516 7/20/2020
4.0.0 543 7/17/2020
3.4.0 542 7/12/2020
3.3.0 476 6/29/2020
3.2.0 537 6/27/2020
3.1.1 574 6/25/2020
3.1.0 564 6/24/2020
3.0.3 552 6/24/2020
3.0.2 516 6/23/2020
3.0.1 534 6/23/2020
3.0.0 532 6/23/2020
2.13.0 584 6/7/2020
2.12.0 509 6/5/2020
2.11.0 562 5/11/2020
2.10.0 521 4/15/2020
2.9.0 575 4/2/2020
2.8.1 623 3/23/2020
2.8.0 575 2/17/2020
2.7.1 522 2/4/2020
2.7.0 530 2/2/2020
2.6.1 627 1/24/2020
2.6.0 502 1/24/2020
2.5.1 686 12/28/2019
2.5.0 568 12/27/2019
2.4.1 561 12/10/2019
2.4.0 577 12/10/2019
2.3.1 576 12/5/2019
2.3.0 619 12/4/2019
2.2.0 579 11/17/2019
2.1.0 557 11/17/2019
2.0.2 554 11/7/2019
2.0.1 520 11/2/2019
2.0.0 609 10/29/2019
1.8.0 552 10/16/2019
1.7.0 553 10/15/2019
1.6.0 554 10/15/2019
1.5.0 564 10/14/2019
1.4.0 565 10/12/2019
1.3.0 576 10/11/2019
1.2.1 543 10/11/2019
1.2.0 535 10/11/2019
1.1.0 595 10/10/2019
1.0.0 572 10/10/2019

- update Dates tool class
- upgrade packages