Databús¶
Databús is a distributed GTFS transit-data platform. It ingests live vehicle telemetry over MQTT, maintains authoritative real-time state in Redis, computes vehicle progress against scheduled trips through server-side map-matching, and publishes standards-compliant GTFS Realtime feeds — alongside durable traces and analytics.
Work in Progress
Both Databús and its documentation are under active development. The estimated
release date is August 2026. Pages describe the system as built today;
where the legacy AGENTS.md / MODEL.md design docs disagree with the source,
these docs follow the source.
How it fits together¶
flowchart LR
veh["🚌 Vehicles"] -->|MQTT position/occupancy| broker["telemetry-broker<br/>(NanoMQ)"]
broker --> rt["realtime-engine<br/>(Celery worker + MQTT bootstep)"]
rt -->|authoritative state| redis[("state<br/>(Redis)")]
rt -->|durable traces| db[("database<br/>(PostgreSQL/PostGIS)")]
redis --> se["schedule-engine<br/>(Celery worker)"]
se -->|GTFS Realtime .pb/.json| feed["feed/files/"]
orch["orchestrator<br/>(Django HTTP API)"] -->|run commands| redis
orch --> db
se -->|status push| ui["user-interface<br/>(Nuxt)"]
feed --> consumers["External GTFS-RT consumers"]
The MQTT consumer runs as a Celery bootstep
inside the realtime-engine worker, not as a separate process. GTFS Realtime
feeds are built by the schedule-engine, not a
standalone "publisher." See Architecture → Services
for the full, corrected service map.
Start here¶
-
Concepts
What Databús is, GTFS Schedule vs Realtime, the glossary, and the design principles behind the system.
-
Architecture
The service topology as built — Django apps and Celery workers, messaging model, and state & persistence.
-
Data flow
The end-to-end path: telemetry ingestion → server-side processing → map-matching → GTFS Realtime publishing.
-
Run lifecycle
The run state machine, commands vs detected facts, the detection layer, and stale-run scanning.
-
Data model
The canonical Redis key reference, telemetry contracts, Django models, and the schedule engine.
-
Interfaces
REST API, the MQTT telemetry contract, AMQP event semantics, GTFS Realtime feeds, and the URL directory.
-
Operations
Local development, configuration, Celery workers and beat, production deployment, and troubleshooting.
Databús is developed by the SIMOVI Lab at the University of Costa Rica (UCR). Source: github.com/simovilab/databus.