uto_manager/docs/developer-guide/index.md

91 lines
2.9 KiB
Markdown

# 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](architecture/overview.md) | Layered clean architecture and system design |
| [Domain Model](domain/entities.md) | Core Dart entities, enums, and repository contracts |
| [Canvas Engine](canvas/custom-painter.md) | CustomPainter rendering, viewport culling, layout algorithm |
| [Symbology Engine](symbology/mil-std-2525d.md) | MIL-STD-2525D hybrid rendering pipeline |
| [Database & Persistence](database/drift-schema.md) | Drift schema, DAOs, migrations, offline-first |
| [Validation Engine](validation/mtoe-engine.md) | Real-time MTOE validation in background Isolates |
| [Export Engine](export/json-codec.md) | JSON, Protobuf, and PDF export modules |
| [Performance](performance/repaint-boundaries.md) | RepaintBoundary isolation, Dart Isolates, benchmarks |
| [CI/CD](cicd/pipeline.md) | Multi-platform build pipeline and test gates |
| [Contributing](contributing/workflow.md) | Branch strategy, commit conventions, code standards |
---
## Architecture at a Glance
```text
[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 (flutter_bloc) |
| Drag-and-Drop | Flutter DragTarget / Draggable |
| Local Database | Drift v2 (SQLite / IndexedDB) — schema v2 |
| Web DB Worker | drift_worker.js + sqlite3.wasm |
| Encryption | SQLCipher *(planned)* |
| Symbology (Web) | milsymbol.js via dart:js_interop *(planned)* |
| Symbology (Native) | path_drawing + SVG assets + LRU cache *(planned)* |
| Background Compute | Dart Isolates (IsolateValidationRunner) |
| Serialization | JSON (UnitTreeCodec) + Binary (ProtobufCodec) |
| PDF Export | Pure-Dart PDF 1.4 (PdfChartExporter) |
| Documentation | MkDocs + Material theme |
---
## Development Setup
```bash
# 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
```