Maridive Fleet Vessels — fleet tank monitoring app for OSVs operating out of Tripoli, Libya
# Maridive Fleet Vessels
A bilingual (English / Arabic) fleet-management app for the Maridive Libya vessel fleet, built with Flutter. It runs today as a macOS desktop app and as a web app (GitHub Pages), with Android/iOS/Windows/Linux targets scaffolded for later.
- **Repo:**
github.com
- **Backend:** Supabase (project "Maridive-Libya Fleet") — Postgres + Auth + Storage + Edge Functions
- **AI:** OpenRouter free-tier models (document extraction + help assistant) and Gemini (profile imagery)
---
## The fleet
| Vessel | Type | Working port |
|---|---|---|
| Maridive 701 | Anchor Handling Tug Supply (AHTS, 71 m) | Tripoli |
| Maridive 704 | Anchor Handling Tug Supply (AHTS, 71 m) | Tripoli |
| Maridive 601 | Platform Supply Vessel (PSV) | Tripoli |
| MRD ZOHR I | — | — |
| MRD ZOHR II | — | — |
Vessel particulars and full tank capacity tables (from each vessel's sounding booklet / capacity plan) are hardcoded in `lib/data/fleet_data.dart`.
---
## App structure
### Navigation
An adaptive shell (`lib/screens/home_shell.dart`) hosts four top-level tabs — **Fleet**, **Analytics**, **Assistant**, **Settings** — shown as a `NavigationRail` on wide windows (≥600 px) and a bottom `NavigationBar` on narrow ones. Tab state is preserved in an `IndexedStack`. All module screens push as full-window routes over the shell. The rail automatically sits on the right in Arabic (RTL).
### Fleet dashboard (`dashboard_screen.dart`)
- Hero header, fleet stat tiles, searchable/filterable vessel grid (responsive: 1–2 columns).
- Alert panels: low-tank alerts, expiring certificates, open defects, urgent notifications banner.
- **Management card** — opens the Cash Meeting Sheet module (fleet-level, not per-vessel).
### Per-vessel modules (vessel detail grid)
| Module | Screen | Highlights |
|---|---|---|
| Tanks | `tank_category_screen.dart`, `tank_calculator_screen.dart`, `sounding_table_screen.dart` | Sounding→volume calculators per t …