blob: e95c92d92dd52a4a3d6da910d5a9f38f693b47ee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# Coding Standards
Technical standards for the **Nav** (Sailing Companion) project.
## 1. Android (Kotlin)
- **Build Target: Android 16 (API 36).** All fixes and feature work must be correct for API 36. Do not add workarounds or intent-filters targeting older Android versions.
- **Architecture:** MVVM with ViewBinding/DataBinding.
- **UI:** Glanceable, high-contrast, cockpit-friendly design.
- **Persistence:** Room for local database; offline-first approach.
- **Async:** Kotlin Coroutines for non-blocking UI.
- **Track Storage:** GPX files go to `Documents/Nav/` via MediaStore (API 29+). They must survive app uninstall — `getExternalFilesDir()` is never acceptable.
## 2. Boating Domain
- **Safety First:** MOB and Anchor Alarm features are critical.
- **Offline Utility:** Must work without internet connectivity (using cached charts/GRIBs).
- **Integration:** Standard NMEA interface for instrument data.
|