Route Finder

Select a Virginia transit agency and search route numbers to load stops and live schedules.


Live Route Map (GTFS Plotter)
Center: Virginia
Upcoming Stop Departures
Route Stop Name Destination Scheduled Time Status

Student Git Collaborative Repo

Each student clones this workspace, commits their modules, and reviews peers' code before merging to the production branch.

git@github.com:etalim-org/virginia-dot-gtfs-portal.git Production Branch: main Auto Deploy Hook Active
34
Commits
6
Students
100%
Test Pass

Meet the Student Devs & Contributions

SA
syeda ali

Lead Frontend Developer

Integrated Leaflet.js interactive maps, styled the dashboard UI, and developed dynamic filter scripts.

AA
Aarash Ali

Backend Engineer

Wrote PHP GTFS schedule parsing models, integrated config settings, and routed dynamic endpoints.

TK
Tanvir Kabir

API Integration Specialist

Authored cURL integration classes requesting Virginia DOT GTFS-RT APIs and parsing headers.

SR
Sajjad Rahman

Systems & DevOps Engineer

Designed the deployment pipeline scripts, set up staging sites, and automated production syncing.

AD
Anthony Drozario

QA & Automation Developer

Set up PHPUnit tests, mocked API responses, and certified that GTFS parser handles empty nodes gracefully.

TN
Towhid Nahid

Database Architect

Created schemas and indices for transit stops and routes to optimize search and map queries.

Hiding Secret Keys & Passwords (Enterprise Security Standard)

For public code viewing and git pushing, students are instructed to **never hardcode** private credentials. Instead, secret API keys for the Virginia DOT transit endpoints and database configuration details are securely injected into the environment.

1. Local Configuration (.env file - Excluded from Git)

DB_HOST=localhost
DB_NAME=u734702605_etalim
DB_PASS=*******  # Hidden from Git!
VDOT_API_KEY=vdot_live_key_3847a98db2cf10
                            

2. Secure Loading Code (config.php)

// Load keys via environmental injection
$db_pass = getenv('DB_PASS');
$vdot_key = getenv('VDOT_API_KEY') ?: 'mock_sandbox_key';

// Authenticating secure cURL requests securely
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer " . $vdot_key
]);
                            

Repository Commit History

8f3b21a feat: integrate Leaflet.js maps & plot Virginia transit routes Authored by syeda ali | 2 hours ago
+184 lines / -12 lines
e4a1c0d feat: implement GTFS-RT protocol buffer decoder proxy Authored by Aarash Ali | 5 hours ago
+92 lines / -4 lines
b0d3e21 fix: secure cURL calls using environmental secrets Authored by Tanvir Kabir | 1 day ago
+14 lines / -22 lines
f6e210a setup: create SQL transit routes and stops indexing schemas Authored by Towhid Nahid | 2 days ago
+240 lines / -0 lines
a9d2c18 test: configure PHPUnit testing models for GTFS parser integrity Authored by Anthony Drozario | 3 days ago
+68 lines / -6 lines
c8f102b deploy: write staging deployment auto-sync configuration Authored by Sajjad Rahman | 4 days ago
+45 lines / -3 lines