| --- |
| title: MoBaz MRU |
| emoji: π |
| colorFrom: red |
| colorTo: green |
| sdk: docker |
| app_port: 7860 |
| pinned: false |
| license: mit |
| short_description: Offline-first Mauritius bus journey planner + live API |
| --- |
| |
| # π MoBaz β Mauritius Bus Planner |
|
|
| **MoBaz** (Mauritian Creole for *"my bus"*) is an offline-first journey planner |
| for Mauritius' bus network. Pick an origin and destination and it plans a route β |
| showing the bus line(s) to take, every stop with timing, the frequency |
| (headway), and the road-following path on a map. |
|
|
| This Space serves the live API + dataset **and** a Grafana metrics UI. One public |
| port (7860) is fanned out by nginx to four processes (backend, Prometheus, |
| Grafana, nginx): |
|
|
| | Path | Serves | |
| |------|--------| |
| | `/` | **Grafana** dashboards (redirects to `/grafana/`) | |
| | `/app/` | the **web app** (PWA) | |
| | `/api/*`, `/data/*` | live planner API + dataset (the **iOS/Android apps use these** β unchanged) | |
| | `/metrics` | Prometheus exposition (scraped internally) | |
| | `/status` | dependency-free backend status page | |
|
|
| - **Web app:** open `/app/` on this Space. |
| - **Metrics:** open the Space root (Grafana). Set a `GF_SECURITY_ADMIN_PASSWORD` |
| Space secret to lock the Grafana admin account; anonymous visitors get read-only. |
| - **Android app refresh endpoint:** `./data/network.json` (unchanged). |
|
|
| > Note: HF Space storage is ephemeral and the Space sleeps when idle, so the |
| > Prometheus history resets on restart β dashboards show data since the last boot. |
|
|
| All journey planning runs **on-device** over the bundled network, so the app |
| works with no internet; map tiles are cached as you view them. |
|
|
| ### Data & credits |
| - Routes, stops, frequency: [mauritius-buses.com](https://www.mauritius-buses.com/) (unofficial community data). |
| - Map tiles, stop coordinates: Β© [OpenStreetMap](https://www.openstreetmap.org/copyright) contributors. |
| - Road geometry: [OSRM](https://project-osrm.org/). |
|
|
| Not affiliated with NLTA, CNT or UBS. Frequencies are weekday headways, not fixed timetables. |
|
|