Spend less time on boilerplate and more time on your ideas. These are some basic starter templates I use for getting new ideas off the ground.
The gold standard for hosting your project with Configuration, Dependency Injection and Logging. This is the foundation across all these templates, be it Console, Background Workers, Desktop or Web projects.
Figuring out how to log messages is probably not the main focus of your new idea. Thus, applicable templates are already configured for Serilog (https://github.com/serilog/serilog), which integrates perfectly with the .NET Generic Host provider.
Web development is certainly made easier with Bootstrap, aligning perfectly with the goal of this repo to get you off the ground faster! Enjoy a project template that takes advantage of .NET 8's Static server-side rendering for Blazor and Bootstrap 5.3's built-in ability to toggle themes. The template comes configured with two layouts, a traditional MainLayout with a Navbar at the top of the page, as well as a SidebarLayout, with a collapsible menu on the left side of the screen.
MudBlazor is just awesome with a comprehensive library of components, features and utilities. You'll spend a lot less time writing custom CSS, especially media queries for breakpoints. Rest assured MudBlazor brings custom theme support and you always have the option of bringing your own CSS/styling to the table if need be.
I'm a big fan of MVVM, just not with some random magical framework. MVVM is too much of an art that needs to be appreiciated and understood, so this is one area I won't borrow someone else's technology, at least for now. Basing this template on the lovely .NET Generic Host, there's enough demo code (Views and ViewModels) to demo how to wire all that up, including basic navigation. Enjoy!
Save the best for last, API is probably the most important Web Project there is. Spanning two templates, WebAPI + DataLibrary, you'll start with an EF Identity Database for in-app authentication using JWT. Also included is API health checks and rate limiting packages. Save yourself an ENORMOUS amount of setup time, so you can dive right into the core of what your API needs to do.