All Projects → dj-nitehawk → MongoWebApiStarter

dj-nitehawk / MongoWebApiStarter

Licence: MIT license
A full-featured starter template for `dotnet new` to quickly scaffold an Asp.Net 6 Web-Api project with MongoDB as the data store.

Programming Languages

C#
18002 projects
HTML
75241 projects

Projects that are alternatives of or similar to MongoWebApiStarter

FastEndpoints
A light-weight REST API development framework for ASP.Net 6 and newer.
Stars: ✭ 2,386 (+1523.13%)
Mutual labels:  webapi, vertical-slice-architecture, minimal-api
N-Tier-Architecture
This is a n-layer architecture based on Common web application architectures.
Stars: ✭ 105 (-28.57%)
Mutual labels:  webapi, net6
Active Directory B2c Dotnet Webapp And Webapi
A combined sample for a .NET web application that calls a .NET Web API, both secured using Azure AD B2C
Stars: ✭ 166 (+12.93%)
Mutual labels:  webapi
Clean Architecture Manga
🌀 Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
Stars: ✭ 3,104 (+2011.56%)
Mutual labels:  webapi
Grapefruit.vucore
A front-background project using ASP.NET Core WebApi and Vue.js
Stars: ✭ 210 (+42.86%)
Mutual labels:  webapi
Devicemanager.api
Web API Framework demonstrates scalable, multitenant, architecture and allows building its own solution in the minutes. Uses: Entity Framework, UnitOfWork, Repository patterns. Wrapped in Docker, Kubernetes
Stars: ✭ 168 (+14.29%)
Mutual labels:  webapi
Urf.core
Unit of Work & Repositories Framework - .NET Core, NET Standard, Entity Framework Core. 100% extensible & lightweight. Live demo: https://goo.gl/QpJVgd
Stars: ✭ 226 (+53.74%)
Mutual labels:  webapi
Gweb
Interact with browser from Go. Manually-crafted WebAPI interoperation library.
Stars: ✭ 163 (+10.88%)
Mutual labels:  webapi
bizbook-server
The repository of bizbook server web api project
Stars: ✭ 45 (-69.39%)
Mutual labels:  webapi
Urf.net
Unit of Work & Repositories Framework - .NET 4.x
Stars: ✭ 202 (+37.41%)
Mutual labels:  webapi
Globalexceptionhandlerdotnet
Exception handling as a convention in the ASP.NET Core request pipeline
Stars: ✭ 234 (+59.18%)
Mutual labels:  webapi
Denunciado
This project born from the need from people to have a way of communication between municipalities and communities. Some municipalities, have their platforms, but they are complex to validate the veracity of complaints. Denounced, it was born with the purpose of offering a free platform to these municipalities. Denounced consists of three main modules developed with Microsoft technologies, using the .Net Framework and Xamarin for its development: 1. Back End Web Project: Module of administration of the complaints, by the employees of the town councils. In this tool, the employees of the city council receive, validate, report and close the complaints, after being served. 2. Web Portal Client: It consists of a web project, so that the community make their complaints, in the same, the users of the service create a profile, must specify when making their complaint, evidence to support this. Through the portal, they can see the complaints of other community members, follow it, give their opinion or provide possible solutions or more evidence. 3. Mobile Project: It has the same functionalities as the web portal, with the addition, that the automatic location can be sent, from the cell phone.
Stars: ✭ 183 (+24.49%)
Mutual labels:  webapi
Viennanet
Framework for quickly creating enterprise microservices on .NET Core https://habr.com/ru/company/raiffeisenbank/blog/516540/
Stars: ✭ 170 (+15.65%)
Mutual labels:  webapi
Dotnet New Caju
Learn Clean Architecture with .NET Core 3.0 🔥
Stars: ✭ 228 (+55.1%)
Mutual labels:  webapi
Aspnet Api Versioning
Provides a set of libraries which add service API versioning to ASP.NET Web API, OData with ASP.NET Web API, and ASP.NET Core.
Stars: ✭ 2,154 (+1365.31%)
Mutual labels:  webapi
Spa Webapi Angularjs
Building Single Page Applications using Web API and AngularJS
Stars: ✭ 248 (+68.71%)
Mutual labels:  webapi
Webapimongodb
Using MongoDB with ASP.NET Web API and ASP.NET Core to perform CRUD operations and build a NotebookApp
Stars: ✭ 164 (+11.56%)
Mutual labels:  webapi
Diamond
Diamond is a full-stack web-framework written in The D Programming Language using vibe.d
Stars: ✭ 173 (+17.69%)
Mutual labels:  webapi
Angularspawebapi
Angular Single Page Application with an ASP.NET Core Web API that uses token authentication
Stars: ✭ 222 (+51.02%)
Mutual labels:  webapi
active-directory-dotnet-daemon-certificate-credential
A .NET 4.5 daemon application that uses a certificate to authenticate with Azure AD and get OAuth 2.0 access tokens.
Stars: ✭ 40 (-72.79%)
Mutual labels:  webapi

MongoWebApiStarter

A full-featured starter template for dotnet new to quickly scaffold an Asp.Net 6 Web-Api project using pure vertical slice architecture with MongoDB as the data store.

Install & Scaffold

  dotnet new install MongoWebApiStarter
  dotnet new mongowebapi -n MyAwesomeApp

Features

Platform

  • base framework: .net 6
  • api/web-service framework: FastEndpoints
  • 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 separate 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
  • 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 available to enable you to quickly add a new vertical slice feature file set. after you install the vsix, you will have a new item called "FastEndpoints Feature FileSet" 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].