Modular Framework
About
Modular framework is a set of helpful components for building the modular applications, especially based on Modular Monolith architecture. The code is written in C# language using the latest version of .NET framework for cross-platform capabilities. The project isn't published as NuGet package, so it's best to clone it and adjust to your own needs. Solution is split into 2 separate projects:
- Abstractions - mostly set of interfaces that can be easily injected into your code
- Infrastructure - the actual code implementing the provided public abstractions
Within the modular framework, you can find the following components:
- Dynamic module loading & configuration
- Autonomous module clients for communication & integration
- Command, Query, Event handlers & dispatchers
- Message broker - sync & async, background broker with the usage of channels
- Application & Correlation context metadata
- Local contracts rules & validation
- JWT authentication extensions with cookie & certificate support
- Exception handling & mappers
- Domain event handlers & dispatcher
- Transactional decorators for distinct schema-based unit of work
- Logging decorators for tracking the requests & messages
- Inbox & Outbox support for EF Core + PostgreSQL
- Security - encryption, hashing
- Redis caching extensions
Samples
- Confab - conference management system + UI
- Trill - simple Twitter clone + UI
- Inflow - virtual payments platform
- Template - basic template with empty modules
Resources
- Comprehensive course on our learning platform
- Mini-course on YouTube
- Building Modular Monolith series on YouTube
- Knowledge base with articles