A full-stack transit app featuring a Django REST framework and a Multi-threaded Kivy mobile interface.
A Reliable transit apps require robust front-end logic. I built this UK Bus Tracker (v1) as a Proof of Concept to demonstrate a mobile-ready UI (Kivy) capable of processing transit data. To ensure a consistent demo experience without API rate-limiting, v1 utilizes a mocked data engine that simulates real-world bus arrivals.
π± App Gallery
git clone https://github.com/reory/bus_app.git
cd bus_app
pip install -r requirements.txt
python manage.py migrate
This project requires both the backend and frontend to be running simultaneously.
Start the backend:
python manage.py runserver
Start the frontend:
python main.py
bus_app/
βββ api/ # Main API Gateway & GTFS Imports
βββ bus_backend/ # Project Core
β βββ apps/ # Modular Business Logic
β β βββ notifications/# User alerts & notifications
β β βββ realtime/ # Live bus tracking data
β β βββ routes/ # GTFS route & stop management
β β βββ users/ # Custom user models & auth
β βββ settings.py # Global configuration
βββ frontend/ # Kivy Mobile Application
βββ tests/ # 17 Unit tests (Backend & Frontend)
βββ manage.py # Django management script
βββ main.py # Kivy entry point
The project includes a comprehensive suite of 17 tests covering models, serializers, and the Kivy UI logic.
To run the tests:
pytest
Built By Roy Peters Click here for contact details π