A full-stack application for Transport for London (TfL) data with real-time tube line statuses, journey planning, and network visualization.
- Line Status - View current status of all TfL tube lines
- Journey Planner - Plan routes between stations with autocomplete
- Line Selector - Browse individual line diagrams
- Map - Interactive map visualization with arrival predictions
- Data Recording - Record and playback API responses for testing
- Backend: ASP.NET Core 8, C#, In-memory caching
- Frontend: React 19, Vite, Google Maps API, React Router
- API Client: Auto-generated from TfL API Swagger schema (NSwag)
- Containerization: Docker
- .NET 8 SDK
- Node.js 20+ and npm
- TfL API base URL in configuration
dotnet restore
dotnet run --project tfl-stats.ServerConfigure tfl-stats.Server/appsettings.json:
{
"ApiSettings": {
"BaseUrl": "https://api.tfl.gov.uk"
}
}cd tfl-stats.Client
npm install
npm run devGET /api/line- Tube lines and statusesGET /api/stoppoint- Stations and stopsGET /api/journey- Journey planningGET /api/arrival- Arrival predictionsGET /api/linediagram- Line diagram dataGET /api/mapdata- Network map data
- Linting:
npm run lint(frontend) - Swagger UI:
https://localhost:5000/swagger
MIT