uto_manager/docs/developer-guide/index.md

2.6 KiB

Developer Guide

UTO Manager — Engineering & Architecture Reference


This guide covers the technical architecture, implementation details, and contribution guidelines for engineers building and extending the UTO Manager platform.


In This Guide

Section Description
Architecture Overview Layered clean architecture and system design
Domain Model Core Dart entities, enums, and repository contracts
Canvas Engine CustomPainter rendering, viewport culling, layout algorithm
Symbology Engine MIL-STD-2525D hybrid rendering pipeline
Database & Persistence Drift schema, DAOs, migrations, offline-first
Validation Engine Real-time MTOE validation in background Isolates
Export Engine JSON, Protobuf, and PDF export modules
Performance RepaintBoundary isolation, Dart Isolates, benchmarks
CI/CD Multi-platform build pipeline and test gates
Contributing Branch strategy, commit conventions, code standards

Architecture at a Glance

[Presentation Layer]
  CustomPainter / InteractiveViewer / Responsive Shell
         │
         ▼
[Application State Layer]
  BLoC / Signals / Drag-and-Drop Pipeline
         │
         ▼
[Domain Layer]
  MTOE Rules Engine / Structural Validation / Entities
         │
         ▼
[Infrastructure Layer]
  Drift SQLite / IndexedDB / Protobuf Codecs / Delta Sync

Technology Stack

Layer Technology
UI Framework Flutter 3.x (Dart 3.x)
Rendering CustomPainter + InteractiveViewer
State Management BLoC + Signals
Drag-and-Drop super_drag_and_drop
Local Database Drift (SQLite / IndexedDB)
Encryption SQLCipher
Symbology (Web) milsymbol.js via dart:js_interop
Symbology (Native) path_drawing + SVG assets + LRU cache
Background Compute Dart Isolates
Serialization JSON + Protobuf
PDF Export pdf package
Documentation MkDocs + Material theme

Development Setup

# Clone the repository
git clone https://git.kellsupport.com/uto_manager.git
cd uto_manager

# Install Flutter dependencies
flutter pub get

# Run static analysis
flutter analyze

# Run all tests with coverage
flutter test --coverage

# Install documentation dependencies
pip install -r docs/requirements.txt

# Serve documentation locally
mkdocs serve