FullStackHero.WebAPI.Boilerplate
1.0.0
Advisory: https://github.com/advisories/GHSA-75x2-6h4m-h6mx | Severity: moderate |
dotnet new install FullStackHero.WebAPI.Boilerplate::1.0.0
What's fullstackhero's .NET Web API Boilerplate?
fullstackhero's .NET Web API Boilerplate is a starting point for your next .NET 7 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.
- Find
Blazor WebAssembly Boilerplate
here - https://github.com/fullstackhero/blazor-wasm-boilerplate
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 7 Web API. This also serves the purpose of learning advanced concepts and implementations such as Multitenancy, CQRS, Onion Architecture, Clean Coding standards, Cloud Deployments with Terraform to AWS, Docker Concepts, CICD Pipelines & Workflows
and so on.
Features
- Built on .NET 7.0
- Follows Clean Architecture Principles
- Domain Driven Design
- Cloud Ready. Can be deployed to AWS Infrastructure as ECS Containers using Terraform!
- Docker-Compose File Examples
- 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!
<details> <summary>Click to See More!</summary>
- 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 </details>
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 available options.
- Install using the
FSH CLI
tool. 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
FSH CLI Tool
Prerequisites
Before creating your first fullstackhero solution, you should ensure that your local machine has:
Installation
After you have installed .NET, you will need to install the fsh
console tool.
dotnet tool install --global FSH.CLI
fsh install
This isntall the FSH CLI tools and the associated Templates. You are now ready to create your first FSH project!
FSH .NET WebAPI Boilerplate
Here's how you would create a Solution using the FSH .NET WebAPI Boilerplate.
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.
fsh api new FSH.Starter
OR
fsh api n FSH.Starter
This will create a new .NET 7 WEBAPI solution for you using the FSH Templates. For further steps and details, Read the Getting Started Guide
Update
To update the tool & templates, run the following commands
dotnet tool update FSH.CLI --global
fsh update
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
andgit remote set-url --push upstream DISABLE
For step by step instructions, follow this and this.
Important Links & Documentations
Overview - Read
Getting Started - Read
Development Environment - Learn about setting up the DEV environment
Participate in Discussions - QNA & General Discussions
Join our Discord - fullstackhero @ Discord
Changelogs
Community
- Discord @fullstackhero
- Facebook Page @codewithmukesh
- Youtube Channel @codewithmukesh
Contributors
Submit your PR and join the elite list!
<a href="https://github.com/fullstackhero/dotnet-webapi-boilerplate/graphs/contributors"> <img src="https://contrib.rocks/image?repo=fullstackhero/dotnet-webapi-boilerplate" /> </a>
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 🦸
- Sponsor the project - opencollective/fullstackhero ❤️
- Or, consider buying me a coffee! ☕
This package has 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.