File size: 2,013 Bytes
0cca762
da6fd0d
e42dd8b
 
 
0cca762
e42dd8b
0cca762
e42dd8b
 
0cca762
 
da6fd0d
e42dd8b
da6fd0d
e42dd8b
 
 
 
7daa90b
 
 
e42dd8b
7daa90b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e42dd8b
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
---
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.