This is a learning project aimed at understanding the principles and implementation of Modular Monoliths in .NET 9.
To create the Initial
migration go to the Vini.ModularMonolith.Example.Web
directory and this command:
dotnet ef migrations add Initial -c BooksDbContext -p ..Vini.ModularMonolith.Example.BooksVini.ModularMonolith.Example.Books.csproj -s .Vini.ModularMonolith.Example.Web.csproj -o Data/Migrations
To run the migrations
dotnet ef database update --context BooksDbContext
To run migrations for the appsettings.Testing.json
file, run this command:
dotnet ef database update -c BooksDbContext -p Vini.ModularMonolith.Example.Web/Vini.ModularMonolith.Example.Web.csproj -- --environment Testing
To create the Initial
migration go to the Vini.ModularMonolith.Example.Web
directory and this command:
dotnet ef migrations add Initial -c UsersDbContext -p ..Vini.ModularMonolith.Example.UsersVini.ModularMonolith.Example.Users.csproj -s .Vini.ModularMonolith.Example.Web.csproj -o Data/Migrations
To run the migrations
dotnet ef database update --context UsersDbContext
To create the Initial
migration go to the Vini.ModularMonolith.Example.Web
directory and this command:
dotnet ef migrations add Initial -c OrderProcessingDbContext -p ..Vini.ModularMonolith.Example.OrderProcessingVini.ModularMonolith.Example.OrderProcessing.csproj -s .Vini.ModularMonolith.Example.Web.csproj -o Data/Migrations
To run the migrations
dotnet ef database update --context OrderProcessingDbContext
Has some architecture tests.
To run papercut as a container, run this command:
docker run --name modular-monolith-papercut -d -p 25:25 -p 37408:37408 jijiechen/papercut:latest
To run MongoDB as a container, run this command:
docker run --name modular-monolith-mongo -d -p 27017:27017 mongo
This module has an event ingestion system that saves the necessary report data in a dedicated database.
This module houses cross-cutting concerns and shared functionalities used by multiple modules within the system, like: