- .NET 10
- Entity Framework Core 10
- Light Framework
- Mapster
- FluentValidation
- SignalR
- Serilog
- Redis
- RabbitMQ
- Aspire
The easiest way to get started is to install the .NET template:
dotnet new install ModularMonolith.Solution.TemplateTo create a ASP.NET Core Web API solution:
dotnet new mm-sln -n YourProjectNameTo create module projects template:
dotnet new mm -n YourModuleNameTo create module projects with clean architecture template:
dotnet new ca-mm -n YourModuleNamePostgreSQL
dotnet run -p src\Migrations\PostgreSQL\PostgreSQL.csprojMSSQL
dotnet run -p src\Migrations\MSSQL\MSSQL.csprojSqlite (copy Seed.db to WebApi project after migrate)
dotnet run -p src\Migrations\Sqlite\Sqlite.csprojOr use In Memory Database, you will need to update WebApi/appsettings.json as follows:
"DbProvider": "InMemory",This will contain common entities, enums, exceptions, interfaces, types, rules, etc... can dependent from modules
- Shared
- Infrastructure
This projects contain share resources for other modules can reference.
- *.Contracts
This projects contains all owned module SOLID. It is dependent on the contracts projects. Modules projects cannot call directly, if it need access resource from other module, it only access other module.Contracts
- WebApi
- ClientApp (MudBlazor)
- Aspire support