Introducing BlazorPlate — The Ultimate .NET Starter Template for SaaS Projects
Published: 2023-12-13 22:57:15


![BlazorPlate.NET](https://cdn-images-1.medium.com/max/2000/1*IQJ-kUbnGSeJ5CGaFdPV5Q.jpeg)

Are you tired of writing the same code over and over again in every .NET project you create? Do you want to streamline your SaaS development process? Look no further than [BlazorPlate](https://www.blazorplate.net/).

## **Overview**

BlazorPlate is an all-inclusive solution for .NET projects, constructed with **.NET 8** and **Blazor WASM**, it provides commonly used boilerplate code with minimal customization. BlazorPlate caters to the needs of startups that aim to reduce development costs and efforts by providing comprehensive and pre-built code. With BlazorPlate, startups can cut down their development time and focus on building their business. The code provided by BlazorPlate ensures that startups can start their project with a well-structured and organized foundation, making future modifications easier.

## **Key Features**

### Customized ASP.NET Identity

BlazorPlate is thrilled to offer a customized ASP.NET Identity that has been completely redesigned by our talented development team to deliver an unparalleled user authentication experience. The new version of Blazor-based components replaces the traditional razor pages, making the authentication process smooth and effortless for businesses.

Our revamped version of ASP.NET Identity includes essential features like sign-in, sign-up, password reset, two-factor authentication, and account activation via email confirmation, which ensure reliable and secure user authentication. With BlazorPlate’s customized ASP.NET Identity, businesses can create a secure and reliable user authentication system quickly and easily, allowing them to focus on developing their core business functionalities.
### Enhance Security with Two-Factor Authentication (2FA)
Elevate your security measures with BlazorPlate’s cutting-edge Two-Factor Authentication (2FA) feature. Designed to fortify identity and access management, 2FA ensures a robust defense mechanism by demanding two layers of authentication:

Something You Know: Users authenticate themselves with a personalized combination of a username and password, enhancing their familiarity with the login process.

Something You Have: Take advantage of the added security layer by incorporating a tangible possession, such as a smartphone with an authenticator app. This innovative approach generates a one-time passcode, reinforcing the authentication process with an extra level of security.

By seamlessly blending both authentication methods, BlazorPlate sets a new standard in safeguarding your resources and data. This comprehensive security protocol not only bolsters account security but also provides peace of mind knowing that sensitive information remains protected against unauthorized access.

### Unlock Advanced Security with API-Level 2FA Enforcement
Experience unparalleled security measures with BlazorPlate’s API-Level 2FA Enforcement. Inspired by best practices observed in banking applications, this groundbreaking feature offers an additional layer of security when accessing sensitive APIs.

Picture this: when users attempt to interact with critical banking APIs, BlazorPlate’s API-Level 2FA Enforcement dynamically redirects them to a dedicated 2FA page. Here, users are prompted to authenticate via 2FA before proceeding, mirroring the stringent security standards set by leading financial institutions.

This innovative approach extends beyond conventional security measures by requiring users to provide a one-time passcode generated by an authenticator app on their mobile device. By implementing this heightened security protocol, BlazorPlate ensures that only authorized users with valid credentials and secondary authentication can access sensitive functionalities.

Elevate your application’s security posture and shield your users’ financial data from potential threats and fraudulent activities with BlazorPlate’s API-Level 2FA Enforcement. Trust in BlazorPlate to provide unparalleled security solutions tailored to meet your evolving needs.

### Users Management

BlazorPlate is the ultimate solution for developers seeking an effortless and seamless way to manage user authentication and authorization. With BlazorPlate, developers can get their projects up and running in no time while saving valuable time and effort.

BlazorPlate’s built-in user management system simplifies the process of managing users and roles, granting access to resources and ensuring robust security measures are in place. With BlazorPlate’s permission-based authorization, developers can easily control user access to application resources, preventing unauthorized access and data breaches.

Customization is key, and BlazorPlate delivers. Developers can easily customize various user settings, including sign-in, password policy, and lockout settings, ensuring they meet specific security requirements. This functionality is essential for startups that need a secure and reliable user authentication system to focus on their core business functionalities.

BlazorPlate eliminates the need to write repetitive code or reinvent the wheel. With its built-in user management system, developers can quickly set up user management functionality, saving time and effort. The result? A robust, secure, and reliable user authentication system that delivers exceptional value to developers and businesses alike.

### API Dynamic Authorization

Authorization is a critical component of Web APIs, as it ensures secure client requests for data access. However, developers using the built-in authorization filter in .NET Web API projects can face a major challenge. The AuthorizeAttribute filter requires hardcoding which users or roles can access newly added APIs or actions, making it difficult to manage authorization efficiently.

That’s where BlazorPlate’s innovative **API Dynamic Authorization** comes in. During application startup, BlazorPlate automatically scans the system APIs and their actions for potential permissions and saves them in the database’s permission table. Any new API or action changes are synced by restarting the application.

This approach provides dynamic authorization, giving system administrators the power to grant or revoke permission from users or roles directly through the administration GUI panel. This eliminates the need for hardcoding authorization in the built-in filter, providing a more efficient and streamlined approach.

BlazorPlate’s API Dynamic Authorization helps developers ensure secure access to data in their Web APIs, saving them time and effort. With BlazorPlate, you can guarantee that your Web APIs are secure and managed with ease.

### Multitenancy

BlazorPlate offers developers a game-changing solution for building applications for multiple clients or organizations with its powerful multitenancy feature. This innovative feature provides support for both single-tenant and multi-tenant modes, giving developers more flexibility and options to choose from based on their needs.

**Tenant Modes**

BlazorPlate provides two tenant modes: Single-Tenant Mode and Multi-Tenant Mode. In **single-tenant mode**, each tenant has their own copy of the software and a dedicated database exclusively owned by that tenant. This requires deploying a separate instance of the application for each tenant, providing complete control over their application. While this approach may incur higher costs and increased maintenance, it ensures superior data isolation and control. In **multi-tenant** **mode**, multiple tenants can share the same instance of the software application with a **shared database for all tenants** or **separate databases for each tenant**. This approach offers cost savings and simplified maintenance.

**Data Isolation Strategies**

BlazorPlate provides robust support for tenant data isolation, ensuring that each tenant can only access and manipulate their own data. With two primary strategies for data isolation — a shared database for all tenants and a separate database for each tenant — BlazorPlate offers developers the flexibility to choose the approach that works best for their application.

**Subdomain Resolution Strategy**

BlazorPlate’s unique subdomain resolution strategy sets it apart from other solutions by delivering an exceptional user experience. By assigning a distinct subdomain name to each tenant, BlazorPlate ensures that tenants are entirely separate, resulting in a smooth experience. This approach also minimizes the risk of unauthorized data access, guaranteeing that tenant data remains secure. Additionally, the strategy optimizes system performance by efficiently directing tenant requests to the correct application instance.

**Tenant Subscriptions Management**

BlazorPlate takes tenant subscription management to the next level with its comprehensive portal, which offers developers an easy and efficient way to manage multiple tenants. With a user-friendly dashboard, developers can access and organize relevant tenant information with ease. The portal provides a centralized location for managing subscriptions, simplifying the process of subscription management for developers.

Overall, BlazorPlate’s multitenancy feature is a game-changer for developers looking to build applications for multiple clients or organizations, providing the flexibility, scalability, and security they need to succeed.

### File Storage Management

In today’s world, having the ability to store data efficiently and securely is more critical than ever. This is where BlazorPlate comes in, offering a comprehensive platform designed to streamline your SaaS development process. Unlike other .NET starter templates, BlazorPlate is much more than that. It’s a platform loaded with features, giving you the ultimate freedom and flexibility you need to store your data.

One of BlazorPlate’s standout features is its ability to seamlessly switch between On-Premises and Azure Storage options. On-Premises storage, the traditional method of storing data on local servers, has been used for years. However, with Azure Storage, you can enjoy the benefits of storing data on the Microsoft Azure cloud platform. With BlazorPlate, you don’t have to choose between the two. You can have the best of both worlds.

What makes BlazorPlate unique is the ability to switch between On-Premises and Azure Storage options on the fly, without the need to restart or redeploy the application. This is a game-changer that provides unparalleled convenience and saves you valuable time and effort.

So if you’re looking for a comprehensive solution that offers the flexibility you need, look no further than BlazorPlate. With BlazorPlate, you have the power to store your data your way. Choose the option that works best for you and enjoy the benefits of a streamlined development process. Get started today and see the difference for yourself.

### Atomic Database Transaction

With BlazorPlate, you can enjoy a seamless experience when handling database commands. Thanks to its atomic transaction processing, you can easily manage multiple database commands in a single batch without any hitches. In case of any errors, the rollback support feature ensures that the system reverts to its original state, eliminating any issues and data inconsistencies.

This feature is particularly helpful for developers who want to ensure consistency in their data management processes. By processing all database commands in a single batch, BlazorPlate simplifies and streamlines database management, ensuring that all actions are executed together or none at all. Moreover, the atomic transaction processing significantly reduces the likelihood of data inconsistencies, resulting in a more robust and reliable application.

With BlazorPlate’s **Atomic Database Transaction** feature, you can rest assured that your application’s data management process is efficient and reliable and that you can handle multiple database commands in a single batch without the fear of data loss.

### API Response Wrapper & Exception Handling

Attention developers! Do you struggle with managing inconsistent API responses and handling errors in your web applications? Look no further than BlazorPlate! Our innovative tool provides a comprehensive solution for streamlining your API consumption, offering a unified API response structure that simplifies your development process and eliminates any confusion or inconsistencies.

With BlazorPlate, you can trust that all successful and failed API responses will follow the same reliable and consistent structure. Say goodbye to the headache of deciphering complex and inconsistent API responses and hello to streamlined and predictable JSON formats.

Experience web development like never before with BlazorPlate’s exception-handling feature that provides crystal-clear and concise error messages to ensure that your users always have a smooth and hassle-free experience. No more guessing or uncertainty, BlazorPlate helps you quickly identify and resolve any issues that may arise. Relax knowing that your users are in good hands and that your applications are operating at their best with BlazorPlate.

### Access Token Lifespan Management

BlazorPlate takes security seriously, and its Access Token Lifespan Management feature is a prime example of that. This feature makes managing the expiration of access and refresh tokens a breeze using the intuitive GUI administration panel. By limiting the time frame in which these tokens can be used, your application remains secure and reliable.

But what makes BlazorPlate stand out is its real-time adjustment capabilities. System administrators can make changes to token lifespans without interrupting your application, ensuring that your application can keep up with evolving security requirements.

By incorporating BlazorPlate’s Access Token Lifespan Management feature into your application development process, you can focus on delivering high-quality apps while maintaining security. Protecting your application against potential security breaches and staying ahead of security threats is essential to ensure that your app remains safe and secure.

It’s also important to note that access tokens and refresh tokens serve different purposes. Access tokens provide temporary authorization to specific resources, while refresh tokens are long-term tokens used to obtain new access tokens. With BlazorPlate’s **Access Token Lifespan Management** feature, both tokens can be managed effortlessly, allowing you to focus on delivering exceptional applications with peace of mind.

### Localization & Multilingual Support

BlazorPlate is the ultimate solution for developers seeking to create user-friendly applications that cater to a global audience. With its powerful Localization feature, BlazorPlate empowers users to define additional languages for their projects. This feature provides multi-lingual support, making it easier for developers to reach a wider audience, regardless of their location or language preference.

BlazorPlate’s Localization feature allows developers to seamlessly add new languages to their projects, making it possible to localize content such as text, images, and more. This not only enhances the user experience but also helps increase user engagement and satisfaction.

With BlazorPlate, developers can confidently create applications that cater to a diverse audience, knowing that their users can easily switch between different languages. This feature is essential for businesses that operate in multiple regions and need to cater to users speaking different languages.

In summary, BlazorPlate’s Localization feature provides a powerful solution for developers seeking to create user-friendly and versatile applications that cater to a global audience. Whether you’re building a business application, a social media platform, or an e-commerce site, BlazorPlate’s Localization feature has got you covered.

### Clean Architecture

BlazorPlate’s Clean Architecture sets it apart as a developer-friendly solution that allows for easy and efficient software development. The project structure is highly organized and scalable, dividing architecture into layers such as Presentation, Application, Domain, and Infrastructure. This division enables modularity and maintainability, making it simpler to separate concerns and modify the code as required.

BlazorPlate’s Clean Architecture provides multiple benefits for developers. First, it enables easier testing, as each layer can be tested separately, which can significantly reduce development time. Second, it ensures scalability, as new features or frameworks can be incorporated without impacting the entire project. This allows for faster development and quicker response times to meet changing user requirements. Additionally, BlazorPlate’s Clean Architecture provides developers with the flexibility to choose the latest frameworks and technologies while still maintaining a consistent codebase.

Overall, BlazorPlate’s Clean Architecture is designed to provide developers with the tools they need to develop scalable and maintainable software solutions quickly and efficiently. It simplifies development, reduces the time spent on testing, and enables easy modification of the codebase. By choosing BlazorPlate, developers can be confident that they are building software that meets the highest standards of quality and scalability.

### Based on MudBlazor

BlazorPlate, the innovative web application development platform, is powered by the highly acclaimed MudBlazor — the top-rated Blazor Components UI Framework. MudBlazor is an open-source project that offers a plethora of versatile and responsive UI components designed with Material Design. With MudBlazor, BlazorPlate developers can enhance their web app’s appearance and user experience while streamlining their development process.

MudBlazor offers a range of UI components, including but not limited to buttons, cards, forms, and dialogs, to create a visually appealing and intuitive user interface. It also offers advanced components like data grids and charts, to give users access to complex data in a simplified and user-friendly way. This level of versatility means that developers can create a variety of web applications, from simple websites to complex enterprise applications.

As an open-source project, MudBlazor is well-supported by a vast community of developers worldwide. It ensures that developers using BlazorPlate have access to the latest updates, patches, and features. MudBlazor also provides comprehensive documentation and samples to make it easier for developers to integrate its components into their applications.

With MudBlazor as its foundation, BlazorPlate gives developers the power to create responsive and appealing web applications, resulting in more user engagement and better business outcomes.

In conclusion, if you’re a startup looking to reduce development effort and cost, BlazorPlate is your go-to project template. BlazorPlate provides a comprehensive solution to start your next .NET project, streamlining your SaaS development process.

BlazorPlate uses Clean Architecture, the most popular development framework and tools, and provides cross-cutting concerns and multilingual support, all based on MudBlazor. With BlazorPlate, you’ll have more time to focus on what really matters: building your business.

## Try out our Demo

We are thrilled to invite you to explore the full potential of BlazorPlate with our comprehensive demo available at [https://host.blazorplate.net](https://host.blazorplate.net). With a single click, you can create a new tenant and dive into the world of our cutting-edge and customizable application framework to see how it can elevate your development game.

We’re confident that our [demo ](https://host.blazorplate.net)will provide you with a comprehensive understanding of how BlazorPlate can revolutionize your application development experience. Don’t hesitate any longer — try out our demo today and take the first step in transforming your development process.

Discover the power of BlazorPlate for yourself and experience a whole new level of efficiency and productivity.

## Walkthrough Video Series

BlazorPlate is an amazing web development framework, and if you want to learn more about it, then this video series is perfect for you. With 15 informative episodes, you will get a complete walkthrough of the framework and its capabilities. From getting started with account registration and email confirmation to advanced topics like multitenancy, this series has it all.

Check out the links below for each episode:

Ep. 01 — Getting Started: [https://youtu.be/rcSpC_1RIoM](https://youtu.be/rcSpC_1RIoM)

Ep. 02 — Account Management-Part 1: [https://youtu.be/n8c9U6VKlyA](https://youtu.be/n8c9U6VKlyA)

Ep. 03 — Account Management-Part 2: [https://youtu.be/lFkYOAZB4Vg](https://youtu.be/lFkYOAZB4Vg)

Ep. 04 — Account Management-Part 3: [https://youtu.be/vKEbliWJ6U4](https://youtu.be/vKEbliWJ6U4)

Ep. 05 — Account Management-Part 4: [https://youtu.be/f1wL9X4sbKA](https://youtu.be/f1wL9X4sbKA)

Ep. 06 — Authorization-Part 1: [https://youtu.be/QYxTbmQtQfk](https://youtu.be/QYxTbmQtQfk)

Ep. 07 — Authorization-Part 2: [https://youtu.be/jhKRU48F6ZA](https://youtu.be/jhKRU48F6ZA)

Ep. 08 — Authorization-Part 3: [https://youtu.be/D1gKU3rQaJg](https://youtu.be/D1gKU3rQaJg)

Ep. 09 — Identity Settings: [https://youtu.be/9Gaufh9Yg1s](https://youtu.be/9Gaufh9Yg1s)

Ep. 10 — Token Settings: [https://youtu.be/owSnj9eU39c](https://youtu.be/owSnj9eU39c)

Ep. 11 — File Storage Settings: [https://youtu.be/q_5oqpXBaio](https://youtu.be/q_5oqpXBaio)

Ep. 12 — FluentValidation: [https://youtu.be/XLb0arurW6o](https://youtu.be/XLb0arurW6o)

Ep. 13 — Localization: [https://youtu.be/ITsozlc1kSw](https://youtu.be/ITsozlc1kSw)

Ep. 14 — Multitenancy: [https://youtu.be/_wqHoaTSVjA](https://youtu.be/_wqHoaTSVjA)

Ep. 15 — Clean Architecture: [https://youtu.be/FXpbq4aQlsc](https://youtu.be/FXpbq4aQlsc)

Don’t miss out on this opportunity to learn about BlazorPlate and explore the endless possibilities of web development with BlazorPlate and these informative tutorials!

## **Get in Touch with BlazorPlate Team**

At BlazorPlate, we take pride in delivering exceptional customer support. If you have any queries or concerns regarding our product, please don’t hesitate to contact us through any of the following channels:

* E-mail: [info@blazorplate.net](mailto:info@blazorplate.net)

* Discord: BlazorPlate#2857

* WhatsApp: +962796226992

* YouTube: [https://www.youtube.com/@BlazorPlate](https://www.youtube.com/@BlazorPlate)

Our team is always eager to assist you and offer any necessary help.