
Core backend server implementing GTFS Schedule and GTFS Realtime specifications for comprehensive transit data management. Provides RESTful API endpoints for static schedule data (routes, stops, trips) and real-time vehicle information (positions, alerts, service updates) with PostgreSQL/PostGIS storage and real-time data validation.
- 🚌 GTFS Schedule & Realtime Support - Full implementation of GTFS specifications
- 🌐 RESTful API - Comprehensive endpoints for transit data access
- 📊 Real-time Data Processing - Live vehicle positions, alerts, and service updates
- 🗺️ Geospatial Support - PostgreSQL/PostGIS for location-based queries
- 🔄 Background Processing - Celery integration for data validation and updates
- 🏢 Multi-tenant Architecture - Support for multiple transit agencies
- Python 3.11+
- Redis server
- PostgreSQL 12+ with PostGIS extension
- Git
-
Clone the repository
git clone https://github.com/simovilab/databus.git cd databus
-
Set up virtual environment (recommended)
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Configure environment
cp .env.example .env # Create and edit your environment variables
-
Set up database
python manage.py migrate python manage.py createsuperuser # Optional: create admin user
-
Start Redis server (in separate terminal)
redis-server
-
Start Celery worker (in separate terminal)
celery -A realtime worker -l info
-
Start Django development server
python manage.py runserver
The application will be available at http://localhost:8000
Endpoint | Description |
---|---|
/api/ |
REST API root - browse all available endpoints |
/api/docs/ |
Interactive API documentation (ReDoc) |
/api/docs/schema/ |
OpenAPI schema |
/admin/ |
Django admin interface |
/feed/ |
GTFS feed endpoints |
Where is this going? Check SIMOVI's roadmap.
Help is welcome! See the guidelines.
- Email: simovi@ucr.ac.cr
- Website: simovi.org
Apache 2.0