Real-time public transport tracking and smart route guidance platform for Mauritius.
# Alebus
**Real-time public transport intelligence platform for Mauritius**
GPS telemetry from bus-mounted devices flows through an MQTT pipeline into an event-driven Go backend, fans out via Redis Pub/Sub to WebSocket clients, and surfaces as live bus locations, stop-by-stop ETAs, and fleet analytics — in under 760ms end-to-end.
> **License:** Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0). Attribution to Mathews Mwangi required. Commercial use prohibited. See LICENSE.
> **📌 About this repository — public showcase build.** This README documents the **full production system** as designed, built, and deployed. The runnable binaries (`cmd/api`, `cmd/emqx_ingestor`, `cmd/emqx_auth`, `cmd/journey_worker`, `cmd/gps_simulator`) and the proprietary algorithm packages (GPS-to-route resolver, recommendation ranking, atomic Redis Lua write semantics, journey lifecycle automation) are **intentionally omitted from this public copy** to protect the working implementation. What ships here is the architectural skeleton — domain model, application boundaries, HTTP middleware, MQTT plumbing, Redis client infrastructure, migrations, observability configuration, and OpenAPI contract. Each omitted package directory carries a `NOTICE.md` describing what would be there in the private build.
---
## Preview
### Commuter App
| Smart Search | Live Journey | Profile |
|:---:|:---:|:---:|
| | | |
| Input origin and destination — system matches buses heading the right direction that haven't passed your stop | Real-time bus position, stop-by-stop ETAs, distance to arrival | Theme, credentials, subscription management |
### Operator Dashboard
| Fleet Map | Route Performance | Driver Behaviour |
|:---:|:---:|:---:|
| | | |
---
## Motivation
Mauritius has no public real-time bus tracking. Commuters wait at stops with no visibility of when — or whether — a bus is coming; waits regularly exceed 45 minutes with no way to tell if the ne …