Introducing fullstackhero – Open Source Boilerplates for Rapid Web Development
Ever gone through the painful process of setting up solutions from scratch although most of the features/code seems to be repetitive? fullstackhero addresses this very pain point and offers complete end-to-end solutions/boilerplates to facilitate and ease the process of getting started with web development.
fullstackhero is a collection of Boilerplates that are built with Clean Architecture, the latest Packages, and Essential Features that your projects will need to get started with. Using fullstackhero boilerplates, one can easily save more than 200 hours of development and research time and kick start the application development in no time. The Essentials are already done, you just have to worry about writing the business logic. Most importantly, fullstackhero is completely FREE to use!
Here is fullstackhero’s GitHub handle – https://github.com/fullstackhero
Benefits of fullStackHero
- Production Ready API – fullstackhero sports the latest .NET 6 Web API fused with clean architecture.
- Premium Client Applications – Blazor WebAssembly is the currently offered Boilerplate for fullstackhero’s client side. Angular , React and MVC on the way!
- Multitenancy Support – Multitenancy is built-in!
- Clean Seperation – API and client applications are seperated into different GitHub Repositories to ensure that there is no dependency whatsover. This enables us to accomadate various new technoligies as both client and API applications in future.
- Documenation – fullstackhero is completely documented on fullstackhero.net
- Completely FREE – Being Community driven, fullstackhero is actively developed on GitHub under MIT license and is open for contributions!
Now that we are aware of what fullstackhero is, let’s check out the projects under fullstackhero.
For the initial release, these are two actively developed projects/boilerplates under fullstackhero
- .NET 6 Web API Boilerplate
- Blazor Web Assembly Boilerplate
.NET 6 Web API Boilerplate
.NET WebAPI Boilerplate Template built with .NET 6.0. Incorporates the most essential Packages your projects will ever need. Follows Clean Architecture Principles.
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.
Read more – https://fullstackhero.net/dotnet-webapi-boilerplate/general/overview/
Setting up Development Environment – https://fullstackhero.net/dotnet-webapi-boilerplate/general/development-environment/
GitHub Repository URL – https://github.com/fullstackhero/dotnet-webapi-boilerplate
- 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!
- 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
Getting Started with .NET Web API Boilerplate
Here is how to quickly get started with setting up .NET Web API Boilerplate on your machine in no time.
Open up your Command Prompt / Powershell and run the following command to install the solution template.
dotnet new -i FullStackHero.WebAPI.Boilerplate
This would install the .NET Web API template globally on your machine. Do note that, at the time of writing this documentation, the latest available version is 0.0.6-rc which is also one of the first stable pre-release versions of the package. It is highly likely that there is already a newer version available when you are reading this.
Now that you have installed the template locally on your machine, 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.
Once that is done, your new solution is created for you. As simple as that!
Here are the folders and files created for you.
Read more about getting started here – https://fullstackhero.net/dotnet-webapi-boilerplate/general/getting-started/
Blazor Web Assembly Boilerplate
Built with .NET 6.0 and the goodness of MudBlazor Component Library. Incorporates the most essential Packages your projects will ever need. Follows Clean Architecture Principles.
GitHub Repository URL – https://github.com/fullstackhero/blazor-wasm-boilerplate
Similar to the WebAPI Boilerplate, the Blazor project too has a NuGet package that you can install on to your machine to start generating the Blazor Boilerplate with ease.
dotnet new --install FullStackHero.BlazorWebAssembly.Boilerplate
Once installed, you can run the following to generate a new Blazor project.
dotnet new fsh-blazor -o FSH.Blazor
Note that it is vital to run the API Server first. Only then can the Blazor project consume services of the API.
Once both the Blazor and API projects are running, navigate to localhost:5002 to access the Blazor WebAssembly Project. Here is what you will be welcomed with.
You can auto-fill the default username/password & tenant by clicking on the
Fill Administrator Credentials button.
Anyways, here are the default login details for your reference.
- email –
- password –
- tenant –
Once you login, the home page will be loaded.
Features & Components
- Login / Registration / Forgot Password
- Home & Dashboard
- Tenant Management
- Dark Mode / Language Switcher
- Account Management
- Catalog Management – Sample CRUD Included for Brands and Products
- User Management
- Role Management
- Permission Management
- Theme Manager to control Primary & Secondary Colors, Border Radiuses, Table Component Attributes
Here are a couple of more screenshots of the Awesome Blazor WebAssembly project!
Explore more about the project by referring to – https://fullstackhero.net/blazor-webassembly-boilerplate/general/getting-started/
UI Fundamentals – https://fullstackhero.net/blazor-webassembly-boilerplate/ui-overview/fundamentals/
Sponsorship & 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! ⭐
- Fork it 😉
- 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! ☕
Sponsorships and Contributions are also accepted on open collective. Do consider sponsoring the project to keep it running for a long time.
you are back…
Great job. Could you provide a walkthrough of adding a working page
Will try to add documentation for that in a few days!
Thanks. In fullstack hero, how do you do form validation, i have several tabs and i want button to be disabled until form is filled. In Blazorhero it was fluentvalidation. please assist
Amazing job, discovering it recently and the quality of the architecture+code is amazing. It also saves a ton of time to kickstart something production-ready with logs and detailed audit trails.
One question though : I don’t quite find an elegant way of referencing users (with their ID) in other EF objects (one user to many objects or even many-to-many).
I get why the ApplicationUsers are in Infra project (obvious separation for safety and deps), but adding users as EF relations into like products for example ?
Did you manage to solve it? And if so, how did you manage it?
@mukesh you are awesome,
Your articles and architecture of any example help me a lot.
Thank you for sharing the knowledge.
My fondest memory in AspNet development was the “aspnet community starter kits” that Microsoft published for clubs, shops and other sites. They weren’t blank canvases but fully operational apps that you could customize and extend for your projects. On a new quest to find the netcore/6 version of those and this looks like a great option, thanks for your effort!
This is a great effort Mukesh. I have gone through the code and documentation and tried following step by step. Kudos to you.