Home

Awesome

<img src="https://github.com/enkodellc/blazorboilerplate/blob/master/docs/images/logo-title.png" alt="Blazor Boilerplate" style="max-wdith:100%"/>

*Note The current master branch is now fixed and working with net7.0

Blazor is a web framework designed to run in the browser on a WebAssembly-based .NET runtime. Blazor Boilerplate aka Blazor Starter Template is a SPA admin template that is able to run both WebAssembly (Core-Hosted) and Server-Side Blazor with a .NET Core 6.0 Server. Default mode for BB is Server Side. To switch to Webassembly log in as Admin and go to settings. Read more here

Repository Notes

Build Status Live Demo GitHub Stars GitHub Issues MIT Donate Gitter

Goals

Live demo

Prerequisites

Don't know what Blazor is? Read here

Complete all Blazor dependencies.

How to run

  1. Install the Visual Studio 2022 (v17.0.1 at minimum)
  2. Clone or download.
  3. Review / Update appsettings.json - DefaultConnection.
  4. Open the solution in Visual Studio and press F5.
  5. To view the API using Swagger UI, Run the solution and go to: http://localhost:53414/swagger/index.html. Live example: https://blazorboilerplate.com/swagger/index.html

Publish on IIS - What works for me on my Windows Server 2016 & SQL Server 2014 (Enkodellc)

  1. Publish BlazorBoilerplate.Server project to your IIS website folder.

  2. Install your SSL. Make sure your SSL is in the WebHosting Certificate Store, and in Linux My Certificate Store.

    • A free certificate from Let's Encrypt will work.
    • For steps 2 & 3 the utility win-acme installs the certificate on your server, performs renewal and configure your IIS Website Bindings to have https binding with the SSL certificate set and Port 443 for default.
  3. Configure your IIS Website Bindings to have https binding with the SSL certificate set and Port 443 for default. Enable WebSockets for SignalR.

  4. Configure / create appsettings.production.config. Set Connection String. If you are using Sql Server then make sure your connection string contains MultipleActiveResultSets=true, Set Thumbprint / SSL. Thumbprint example: 143fbd7bc36e78b1bcf9a53c13336eaebe33353a

  5. Login with either the user [user | user123] or admin [admin | admin123] default accounts.

Thanks To

Contributing

Please star, watch and fork! We'd greatly appreciate any contribution you make. I am very open to updates and features, though most feature requests will be depending on how much community support exists.

Disclaimer / About the Author

I (Enkodellc) started this repository as I was frustrated with the examples out there that people were charging money for and were in my opinion incomplete or closed source. I paid for 4-5 of these solutions with an Angular front-end / .Net Core back-end and none of them were what I was looking for. This is my attempt to create something that developers can start a Blazor project with several great features to build from. I have a lot of experience with ASP.Net webforms an new to .NET Core and Blazor. This code is not meant to be perfect or follow every best practice. It though is my ambition to learn and get feedback on what best practices can be implemented. I will be migrating a Webforms app to Blazor so this is my opportunity to learn, share, grow, and get feedback on what hopefully will be a great Blazor Starter Kit.

I have taken small solutions from other repositories and will do my best to recognize those contributions. I am very open to ideas and suggestions. I am not a great developer, but I try. So please take this into consideration when using this repository. If you wish to hire me for consulting or as a contractor please reach out via email or https://gitter.im/enkodellc. I have taken well over 1,000 hours to create, maintain, and answer questions. Please donate to support my efforts.

Completed

Road map

License

This project is licensed under the terms of the MIT license.

Problem Solving Tips

Postgres Support

*Note this might be out of date.. Delete Existing Migrations in the BlazorBoilerplate.Server/Migrations Folder and then create your own migrations:
-dotnet ef --startup-project ..\BlazorBoilerplate.Server migrations add InitialApplicationDbMigration --context ApplicationDbContext -o Migrations\ApplicationDb

Docker Support

Azure Support

News

7.0.17 Net Core 7

4.0.0 Net Core 6

3.1.0 MudBlazor

3.0.0 Net Core 5

2.0.0 Development is now Master (Major Project Refactor - Thanks GioviQ) (Documentation)

1.0.0 - Master branch

0.8.2 - Master branch

0.8.1 Stable - Master branch

0.8.0 (Major Project Refactor - Thanks DanielBunting)

0.7.0 (Breaking Changes)

0.6.1 (No Major Breaking Changes)

0.6.0 (Major Breaking Changes)

0.5.0

0.4.0

0.3.2

0.3.0 - IS4 (Breaking Changes from 0.2.3)

0.2.3 - .Net Core Authentication / Authorization (Stable Version)

0.2.2

0.2.1

0.2.0

0.1.9

0.1.8

0.1.7

0.1.6

0.1.5

0.1.4

0.1.3

0.1.2

0.1.1

0.1.0