Public Transit Agency is a comprehensive, modular solution for managing urban public transportation systems. The platform is designed to replace legacy systems, optimizing fleet management, routes, schedules, users, and daily operations through a microservices architecture and cloud-native technologies. Its goal is to improve operational efficiency, data transparency, and the experience for both users and operators/administrators.
The system provides features for managing transport units, drivers and operators, a passenger information portal with real-time updates, electronic payment processing, incident and maintenance management, and more.
Backend link: publictransitagency-production.up.railway.app
Frontend link: publictransitagency-frontend-production.up.railway.app
-
User and Role Management
- Registration, authentication, and administration of users with different roles: Administrator, Operational Supervisor, Driver, Maintenance Technician, and Passenger.
- Role-based permissions for accessing and operating different system features.
-
Fleet and Unit Management
- Registration, updating, and monitoring of transport units (buses, trams, etc.).
- Assignment of units to routes and shifts.
-
Route and Stop Management
- Creation, editing, and deletion of routes and stops.
- Visualization of active routes and their real-time status.
-
Schedule and Shift Management
- Definition and adjustment of operation schedules.
- Assignment and modification of driver shifts.
-
Passenger Portal
- Real-time consultation of schedules, routes, and availability.
- Purchase and validation of electronic tickets.
- Submission of complaints and suggestions.
-
Incident and Maintenance Management
- Registration and tracking of operational and technical incidents.
- Scheduling and logging of preventive and corrective maintenance activities.
-
Reports and Notifications
- Generation of operational and administrative reports.
- Sending notifications to users and operators.
Current Phase: Completed
- Python 3.9+
- Docker (for containerized environments)
- Flutter (for mobile/web frontend)
-
Clone the repository.
-
Install dependencies:
pip install -r requirements.txt
Required libraries include:
fastapi uvicorn jose typing pytest pytest-cov
Development and deployment environments are containerized using a custom Dockerfile, compatible with Linux systems. It includes all necessary configurations and dependencies for consistent environment replication.
PUBLIC TRANSIT AGENCY
├── .github
│ └── workflows
├── docs
├── src
│ ├── backend
│ │ └── app
│ │ ├── data # Data access and repositories
│ │ ├── logic # Business logic and services
│ │ ├── models # Domain and ORM models
│ │ ├── routes # FastAPI endpoints and controllers
│ │ ├── templates # Jinja2 templates for views
│ │ └── tests # Unit and integration tests
│ └── frontend
│ ├── android # Android-specific files
│ ├── assets # Static assets (e.g., images)
│ ├── build # Build outputs
│ ├── ios # iOS-specific files
│ ├── lib # Flutter source code
│ ├── linux # Linux-specific files
│ ├── macos # macOS-specific files
│ ├── static # Static files (CSS, JS, etc.)
│ ├── templates # HTML templates
│ ├── web # Web-specific files
│ └── windows # Windows-specific files
- Mario Alberto Julio Wilches
- Andrés Felipe Rubiano Marrugo
- Alejandro Pedro Steinman Cuesta