Code Monkey home page Code Monkey logo

dotnet-webapi-boilerplate's Introduction

GitHub Discord FullStackHero.WebAPI.Boilerplate on NuGet Nuget downloads

Follow @iammukeshm   Follow @codewithmukesh

fullstackhero

What's fullstackhero's .NET Web API Boilerplate?

fullstackhero's .NET Web API Boilerplate is a starting point for your next .NET 6 Clean Architecture Project that incorporates the most essential packages and features your projects will ever need including out of the box Multi-Tenancy support. This project can save well over 200+ hours of development time for your team.

As the name suggests, this is an API / Server Boilerplate. You can find other Client Boilerplates that consume this API under @fullstackhero handle.

Goals

The goal of this repository is to provide a complete and feature-rich starting point for any .NET Developer / Team to kick-start their next major project using .NET 6 Web API. This also serves the purpose of learning advanced concepts and implementations such as Multitenancy, CQRS, Onion Architecture, Clean Coding standards and so on.

Features

  • Built on .NET 6.0
  • Follows Clean Architecture Principles
  • Domain Driven Design
  • Completely Documented at fullstackhero.net
  • Multi Tenancy Support with Finbuckle
    • Create Tenants with Multi Database / Shared Database Support
    • Activate / Deactivate Tenants on Demand
    • Upgrade Subscription of Tenants - Add More Validity Months to each tenant!
  • Supports MySQL, MSSQL, Oracle & PostgreSQL!
Click to See More!
  • Uses Entity Framework Core as DB Abstraction
  • Flexible Repository Pattern
  • Dapper Integration for Optimal Performance
  • Serilog Integration with various Sinks - File, SEQ, Kibana
  • OpenAPI - Supports Client Service Generation
  • Mapster Integration for Quicker Mapping
  • API Versioning
  • Response Caching - Distributed Caching + REDIS
  • Fluent Validations
  • Audit Logging
  • Advanced User & Role Based Permission Management
  • Code Analysis & StyleCop Integration with Rulesets
  • JSON Based Localization with Caching
  • Hangfire Support - Secured Dashboard
  • File Storage Service
  • Test Projects
  • JWT & Azure AD Authentication
  • MediatR - CQRS
  • SignalR Notifications
  • & Much More

Documentation

Read Documentation related to this Boilerplate here - https://fullstackhero.net/dotnet-webapi-boilerplate/

Feel free to contribute to the Documentation Repository - https://github.com/fullstackhero/docs

Getting Started

To get started with this Boilerplate, here are the avaiable options.

  • Install using dotnet new . Use this for release versions of the Boilerplate only.
  • Fork the Repository. Use this if you want to always keep your version of the Boilerplate up-to date with the latest changes.

Make sure that your DEV enviroment is setup, Read the Development Environment Guide

Forking the Repository

You would probably need to take this approach if you want to keep your source code upto date with the latest changes. To get started based on this repository, you need to get a copy locally. You have three options: fork, clone, or download.

  • Make a fork of this repository in your Github account.
  • Create your new dotnet-webapi-boilerplate personal project by cloning the forked repository on your personal github.
  • Setup an upstream remote on your personal project pointing to your forked repository using command git remote add upstream https://github.com/{githubuseraccount}/dotnet-webapi-boilerplate and git remote set-url --push upstream DISABLE

For step by step instructions, follow this and this.

Using the .NET CLI

0.0.6 RC is now released!

Open up your Command Prompt / Powershell and run the following command to install the solution template.

dotnet new --install FullStackHero.WebAPI.Boilerplate

This would install the fullstackhero .NET WebAPI Boilerplate template globally on your machine. With that done, let's see how you can start generating complete .NET WebAPI Solutions seamlessly.

Simply navigate to a new directory (wherever you want to place your new solution), and open up Command Prompt at the opened directory.

Run the following command. Note that, in this demonstration, I am naming my new solution as FSH.Starter.

dotnet new fsh-api -o FSH.Starter

For further steps and details, Read the Getting Started Guide

Important Links & Documentations

Overview - Read

Getting Started - Read

Development Environment - Learn about setting up the DEV environment

Track Progress - Release 1.0 Milestones

Participate in Discussions - QNA & General Discussions

Join our Discord - fullstackhero @ Discord

Changelogs

View Complete Changelogs.

Community

Contributors

Submit your PR and join the elite list!

License

This project is licensed with the MIT license.

Support ⭐

Has this Project helped you learn something New? or Helped you at work? Here are a few ways by which you can support.

  • Leave a star! ⭐
  • Recommend this awesome project to your colleagues. 🥇
  • Do consider endorsing me on LinkedIn for ASP.NET Core - Connect via LinkedIn 🦸
  • Or, If you want to support this project in the long run, consider buying me a coffee! ☕

black-button

dotnet-webapi-boilerplate's People

Contributors

274188a avatar 2maxwell avatar akema-trebla avatar alex0403lin avatar b-virtual avatar cetindogu avatar chhinsras avatar dependabot[bot] avatar devjr14 avatar frankyjquintero avatar fretje avatar geekz-reno avatar gialan avatar glanzetta-reply avatar gokhanwork avatar iammukeshm avatar ittyabrehman avatar juststeve avatar kmvickers avatar marcelo-maciel avatar markosimulak avatar mikaelhild avatar musmanrafiq avatar pashaie avatar pedroventura235 avatar pedroventurawork avatar snax4a avatar trihugger avatar xlogex avatar zigimun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.