Welcome to Mosaic
Mosaic is a powerful, modular Flutter architecture that enables clean separation of features using dynamic modules, internal event systems, UI injection, and centralized build orchestration.
๐งฉ
Modular
Independent modules
โก
Event-Driven
Decoupled communication
๐ฏ
Type-Safe
Strongly typed events
๐งช
Testable
Built for testing
## What makes Mosaic special?
Mosaic helps large applications scale with ease by treating each feature as an **isolated unit** that can be enabled, built, and tested independently. Think of it as building with LEGO blocks - each piece fits perfectly together, but can work on its own.
### Core Features
- **๐งฉ Modular Architecture**: Organize your app into independent, reusable modules
- **โก Event-Driven Communication**: Decoupled communication between modules using a robust event system
- **๐ฏ Dynamic UI Injection**: Inject UI components dynamically across different modules
- **๐งญ Internal Navigation**: Module-specific routing with stack management
- **๐ Advanced Logging**: Multi-dispatcher logging system with file and console output
- **๐ Thread Safety**: Built-in mutex and semaphore utilities for concurrent operations
- **๐ Auto Queue**: Automatic retry mechanism for async operations
- **โ
Type-Safe Events**: Strongly typed event system with wildcard support
## Architecture Overview
Mosaic follows a modular architecture pattern where each feature is encapsulated in its own module. Here's how it works: