Prerequisites
Before you begin developing ReUCM, ensure you have the following installed:- Git
- Flutter Version Management (FVM) for managing Flutter SDK versions
- An IDE (VS Code or Android Studio recommended)
- For Windows development: Windows 10 (1803) or higher with Microsoft Edge and WebView2
Flutter SDK requirements
ReUCM uses a monorepo workspace structure with the following requirements:- Dart SDK:
^3.11.0 - Flutter SDK:
^3.29.3(master channel) - FVM: Configured to use Flutter master channel
The project uses FVM to lock the Flutter version to the master channel. This ensures all developers use the same Flutter version.
Setup instructions
Install Flutter with FVM
The project uses FVM with Flutter master channel. Install the required Flutter version:This will read the
.fvmrc configuration and set up the correct Flutter version.Install dependencies
Install all workspace dependencies:This command installs dependencies for all workspace packages:
re_ucm_app- Main applicationre_ucm_core- Core models, interfaces, and UI componentsre_ucm_lib- Shared library codere_ucm_author_today- Author.Today portal module
Run code generation
The project uses code generation for MobX, JSON serialization, and custom builders. Generate the required code:For continuous development, you can run the watcher:
Workspace structure
ReUCM uses a monorepo workspace structure defined in the rootpubspec.yaml:
Packages
- re_ucm_app - Main Flutter application with UI and platform-specific code
- re_ucm_core - Core models, interfaces, and shared UI components for portal modules
- re_ucm_lib - Shared library code and utilities
- re_ucm_author_today - Portal module for Author.Today resource support
Development tools
VS Code tasks
If you’re using VS Code, the repository includes pre-configured tasks:- [Build Runner] - Run code generation once
- build_runner watch - Run code generation in watch mode (auto-runs on folder open)
- [Build] Split APK - Build Android APK with ABI splits
Code generation
The project uses several code generators:- MobX (
mobx_codegen) - State management code generation - JSON Serializable (
json_serializable) - JSON serialization - Custom builders - Changelog generation and other custom build tasks
.gen directories to keep them organized.
Platform-specific setup
Android
No additional setup required beyond the Flutter SDK.Windows
Windows development requires:- Windows 10 (1803) or higher
- Microsoft Edge WebView2 (pre-installed on modern Windows)
- Inno Setup (optional, for building installers)
Next steps
Now that your environment is set up, you can:- Read the contributing guidelines to understand the development workflow
- Explore the codebase structure in
re_ucm_coreto understand the modular architecture - Start implementing a new portal module or contributing to existing features