MeshWeaver is a modular framework for building data-driven applications with real-time updates, interactive visualizations, and powerful data processing capabilities.
You can run MeshWeaver in two modes:
cd portal/MeshWeaver.Portal
dotnet run
This setup is useful for smaller projects which are deployed as monoliths. If you are unsure which approach to pick, pick this one.
cd portal/aspire/MeshWeaver.Portal.AppHost
dotnet run
Please note that this approach requires running docker. Microservices are generally more complex to handle, but they provide big flexibility running in productive setups.
The backbone of MeshWeaver is its message hub system (MeshWeaver.Messaging.Hub
), which provides:
- Actor model-based message routing
- Request-response patterns
- Hierarchical hub hosting
- Built-in dependency injection
- Messaging: Send and received messages between addresses. Route them inside the mesh.
- Concurrency: Fully asynchronous concurrency using the actor model.
- Data Synchronization: Full-fledged data replication for Create Read Update Delete.
- Business Rules: Rule engine with scope-based state management
- Import: Flexible data import system with activity tracking
- Kernel: Interactive code execution and visualization
- Interactive Markdown: A markdown dialect allowing to include code execution.
- Layout: Framework-agnostic UI control abstractions
- Reporting: Fexible and interactive reporting
- Elasticity: Create a fully elastic setup using Orleans
- Integration: Integrate with almost any available technology through Aspire.
- Portal - Try out MeshWeaver and read our blog
- Website - Learn more about MeshWeaver
- Discord - Join our community
-
Monolithic (
portal/MeshWeaver.Portal
)- Single process deployment
- Simplified setup
- Suitable for development and smaller deployments
-
Microservices (
portal/aspire/MeshWeaver.Portal.AppHost
)- .NET Aspire-based orchestration
- Service discovery
- Azure integration
- PostgreSQL for persistence
- Azure Blob Storage for articles
We welcome contributions! Join our Discord to discuss features, report issues, or get help.