How sahejpreet-glitch/train-track-codex works
SETU AI provides passenger train tracking and probabilistic ETA explanations, alongside fleet and dispatch intelligence. The primary workflow is train-number search in the tracking UI, retrieval and normalization by the frontend service, backend aggregation of railway and weather data, prediction, then display of current status, route progress, confidence bounds, and delay causes. The README also documents telemetry, corridor mapping, fleet overview, station boards, dispatch solving, and feedback. Backend excerpts are partial, so links for documented but unsampled capabilities are limited to the API module rather than inferred internal call chains.
Main entry points: main.py FastAPI service · App.tsx React application · TrackTrainPage.tsx Train tracking UI · trainService.ts Train data service
Components 18
Passenger interfaces
- React application
src/App.tsx - Train tracking UI
src/pages/TrackTrainPage.tsx - Train data service
src/services/trainService.ts - Simple dashboard
dashboard.html - Feedback page
src/pages/FeedbackPage.tsx - Feedback service
src/services/feedbackService.ts
API and orchestration
- FastAPI service
backend/main.py
Railway intelligence
- RailRadar provider
backend/railradar_service.py - Delay predictor
backend/ml_engine.py - Route simulator
backend/route_simulator.py
External integrations
- Weather integration
backend/external_apis.py - Forecast explanation
backend/gemini_service.py - Feedback delivery
backend/email_service.py - RailRadar service
- Weather service
- Gemini service
- Email provider
Other components
- Passenger
Connections 18
- Passenger → React application: uses
- React application → Train tracking UI: renders
- Train tracking UI → Train data service: requests train data
- Train data service → FastAPI service: fetches forecast and route
- Simple dashboard → FastAPI service: calls dashboard APIs
- FastAPI service → RailRadar provider: requests railway data
- RailRadar provider → RailRadar service: fetches live and schedule data
- FastAPI service → Weather integration: requests weather data
- Weather integration → Weather service: fetches weather
- FastAPI service → Delay predictor: predicts delay
- FastAPI service → Route simulator: builds route telemetry
- FastAPI service → Forecast explanation: requests explanation
- Forecast explanation → Gemini service: generates explanation
- Passenger → Feedback page: submits feedback
- Feedback page → Feedback service: sends submission
- Feedback service → FastAPI service: posts feedback
- FastAPI service → Feedback delivery: dispatches feedback
- Feedback delivery → Email provider: delivers email