docs: refresh readme status + dashboard screenshots

- Project status -> Phase 27 done, Phase 28 (Android app) in progress
- Added Android companion app to feature list
- Regenerated pics/ui.png (mobile 390px + desktop 1280px dashboards)
This commit is contained in:
Mathieu Moran
2026-08-12 22:58:59 -04:00
parent 7f6d6c3a89
commit 495e0a99f9
4 changed files with 8 additions and 11 deletions
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 88 KiB

+8 -3
View File
@@ -62,6 +62,9 @@ Dashboard — mobile (390 px) and desktop (1280 px):
create/rotate/delete keys and one-time API-key reveal. create/rotate/delete keys and one-time API-key reveal.
- **Reverse geocoding** — `/api/geocode` uses `reverse_geocoder` offline (no internet needed), - **Reverse geocoding** — `/api/geocode` uses `reverse_geocoder` offline (no internet needed),
upgrades to Nominatim street-level when online. LRU-cached. Results pre-loaded for trip scrubbing. upgrades to Nominatim street-level when online. LRU-cached. Results pre-loaded for trip scrubbing.
- **Android companion app** — native Kotlin app in `android/` (Phase 28, in progress). Dual-network
on the phone: browse + download dashcam clips over the car's WiFi, relay uploads over cellular.
Networking gate + dashcam browser/download verified on a Pixel; cellular upload in progress.
- **Offline web UI** — Flask, Bootstrap 5, Socket.IO, Chart.js, Leaflet. All assets served - **Offline web UI** — Flask, Bootstrap 5, Socket.IO, Chart.js, Leaflet. All assets served
locally. Responsive with collapsible sidebar and mobile bottom nav. locally. Responsive with collapsible sidebar and mobile bottom nav.
- **Headless deployment** — systemd service with auto-restart, 10-second hardware watchdog, and - **Headless deployment** — systemd service with auto-restart, 10-second hardware watchdog, and
@@ -173,9 +176,11 @@ rm db/sql/quoije_Yaris2013.db
## Project status ## Project status
The Pi app, remote server, and device sync are all implemented and verified on real The Pi app, remote server, device sync, and the Android companion app are implemented and
hardware. Phase 25 (road test) is complete; Phase 26 (12 bug fixes) is complete. verified on real hardware. Phase 25 (road test) ✅, Phase 26 (road-test bug fixes — 13 bugs) ✅,
Phase 27 (feature additions) is up next with 7 candidates. Phase 27 (feature additions — DTC history sync, manual odometer, hotspot settings + 5GHz WiFi
swap, trip-history odometer) ✅. Phase 28 (Android companion app) 🚧 in progress — networking
gate + dashcam browser/download done, cellular upload queue in progress.
Full phase history and verification notes live in [PLAN.md](./PLAN.md). Open issues in Full phase history and verification notes live in [PLAN.md](./PLAN.md). Open issues in
[BUGS.md](./BUGS.md). Feature requests in [FEATURES.md](./FEATURES.md). [BUGS.md](./BUGS.md). Feature requests in [FEATURES.md](./FEATURES.md).
-4
View File
@@ -107,10 +107,6 @@
<footer class="bg-white border-top text-center py-3 small text-muted d-none d-md-block"> <footer class="bg-white border-top text-center py-3 small text-muted d-none d-md-block">
&copy; vroom vroom yaris de course 2023 &mdash; remote server &copy; vroom vroom yaris de course 2023 &mdash; remote server
<span class="mx-1">·</span>
<a href="https://github.com/quoije/yaris-obd" class="text-muted text-decoration-none" target="_blank" rel="noopener" title="GitHub repository">
<i class="fab fa-github fa-fw"></i> GitHub
</a>
</footer> </footer>
</div> </div>
-4
View File
@@ -96,10 +96,6 @@
<footer class="bg-white border-top text-center py-3 small text-muted d-none d-md-block"> <footer class="bg-white border-top text-center py-3 small text-muted d-none d-md-block">
&copy; vroom vroom yaris de course 2023 &copy; vroom vroom yaris de course 2023
<span class="mx-1">·</span>
<a href="https://github.com/quoije/yaris-obd" class="text-muted text-decoration-none" target="_blank" rel="noopener" title="GitHub repository">
<i class="fab fa-github fa-fw"></i> GitHub
</a>
</footer> </footer>
</div> </div>