Open Sourced Solution Template For Blazor Web-Assembly 5.0 built with MudBlazor Components
Report Bug
·
Request Feature
.
Request Documentation
This is a Clean Architecture Solution Template for Blazor Webassembly 5.0 built with MudBlazor Components.
- Blazor WebAssembly 5.0 - ASP.NET Core Hosted Model
- ASP.NET Core 5
- Entity Framework Core 5
- MediatR
- AutoMapper
- FluentValidation
- NUnit, FluentAssertions, Moq & Respawn
- Docker
Important If you are already using Blazor Hero v1.x, make sure that you drop your existing database and re-update your database using the CLI as there are couple of new migrations added that may clash with your existing schema. Also, install the latest version of Blazor.
The easiest way to get started with Blazor Hero is to install the NuGet package and run dotnet new VA.Blazor.CleanArchitecture
:
- Install the latest .NET 5 SDK
- Install the latest DOTNET & EF CLI Tools by using this command
dotnet tool install --global dotnet-ef
- Install the latest version of Visual Studio IDE 2019 (v16.8 and above) 🚀
- Open up Command Prompt and run
dotnet new --install VA.Blazor.CleanArchitecture
to install the project template - Create a folder for your solution and cd into it (the template will use it as project name)
- Run
dotnet new VA.Blazor.CleanArchitecture
to create a new Solution with all the Awesomeness 🕶️ of Blazor 🦸
This will contain all entities, enums, exceptions, interfaces, types and logic specific to the domain layer.
This layer contains all application logic. It is dependent on the domain layer, but has no dependencies on any other layer or project. This layer defines interfaces that are implemented by outside layers. For example, if the application need to access a notification service, a new interface would be added to application and an implementation would be created within infrastructure.
This layer contains classes for accessing external resources such as file systems, web services, smtp, and so on. These classes should be based on interfaces defined within the application layer.
This layer is a single page application based on Angular 10 and ASP.NET Core 5. This layer depends on both the Application and Infrastructure layers, however, the dependency on Infrastructure is only to support dependency injection. Therefore only Startup.cs should reference Infrastructure.
If you are having problems, please let us know by raising a new issue.
This project is licensed with the MIT license.
Contributions are what make the open-source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Blogs at vinayaroratech.com
- Facebook - Vinay Arora
- Twitter - Vinay Arora
- Linkedin - Vinay Arora