How amazetbm/wmata_dashboared_alt works
WMATA Operator Dashboard presents live and historical rail and bus operations data, with an MCP interface for transit queries. The main workflow runs from the dashboard or MCP caller through HTTP-backed API routes to WMATA and MongoDB, then returns data for display or tool results. A 30-second poller separately snapshots live feeds and computes schedule adherence. The README documents additional map, replay, and bus capabilities; unsampled route implementations are represented by their exact directories, with uncertain internal links omitted.
Main entry points: dashboard.component.ts Rail dashboard · wmata.service.ts HTTP service · wmata.js WMATA client · routes API routes
Components 27
Operator dashboard
- Angular app
client/src/app/app.ts - Rail dashboard
client/src/app/components/dashboard/dashboard.component.ts - Rail map
client/src/app/components/map-panel/map-panel.component.ts - Rail incidents
client/src/app/components/incidents-panel/incidents-panel.component.ts - Train positions
client/src/app/components/train-positions-panel/train-positions-panel.component.ts - Station monitor
client/src/app/components/station-monitor/station-monitor.component.ts - Adherence history
client/src/app/components/adherence-panel/adherence-panel.component.ts - Outage history
client/src/app/components/outage-panel/outage-panel.component.ts - Historical replay
client/src/app/components/historical-view/historical-view.component.ts - Service scorecard
client/src/app/components/service-health-scorecard/service-health-scorecard.component.ts - Bus map
client/src/app/components/bus-map/bus-map.component.ts - HTTP service
client/src/app/services/wmata.service.ts
API and polling
- Express API
server/src/index.js - API routes
server/src/routes - Rail map API
server/src/routes/map.js - Bus API
server/src/routes/bus.js - Arrival predictions
server/src/routes/predictions.js - Snapshot poller
server/src/jobs/poller.js - WMATA client
server/src/middleware/wmata.js
Snapshot storage
- MongoDB
- Snapshot models
server/src/models
MCP interface
- MCP server
mcp/src/index.ts - Transit tools
mcp/src/tools - API fetch client
mcp/src/client.ts
Other components
- Operator
- WMATA API
- MCP caller
Connections 35
- Operator → Angular app: opens
README.md - Angular app → Rail dashboard: routes to
- Angular app → Bus map: lazy-loads
- Rail dashboard → Rail map: renders
client/src/app/components/dashboard/dashboard.component.ts - Rail dashboard → Rail incidents: renders
client/src/app/components/dashboard/dashboard.component.ts - Rail dashboard → Train positions: renders
client/src/app/components/dashboard/dashboard.component.ts - Rail dashboard → Station monitor: renders
client/src/app/components/dashboard/dashboard.component.ts - Rail dashboard → Adherence history: renders
client/src/app/components/dashboard/dashboard.component.ts - Rail dashboard → Outage history: renders
client/src/app/components/dashboard/dashboard.component.ts - Rail dashboard → Historical replay: renders
client/src/app/components/dashboard/dashboard.component.ts - Rail dashboard → Service scorecard: renders
client/src/app/components/dashboard/dashboard.component.ts - Rail map → HTTP service: requests data
client/src/app/components/map-panel/map-panel.component.ts - Train positions → HTTP service: requests data
client/src/app/components/train-positions-panel/train-positions-panel.component.ts - Station monitor → HTTP service: requests arrivals
client/src/app/components/station-monitor/station-monitor.component.ts - Adherence history → HTTP service: requests history
client/src/app/components/adherence-panel/adherence-panel.component.ts - Outage history → HTTP service: requests outages
client/src/app/components/outage-panel/outage-panel.component.ts - Historical replay → HTTP service: requests history
client/src/app/components/historical-view/historical-view.component.ts - Service scorecard → HTTP service: requests status
client/src/app/components/service-health-scorecard/service-health-scorecard.component.ts - Bus map → HTTP service: requests bus data
client/src/app/components/bus-map/bus-map.component.ts - HTTP service → API routes: calls HTTP endpoints
client/src/app/services/wmata.service.ts - Express API → API routes: mounts
server/src/index.js - Express API → Snapshot poller: starts
server/src/index.js - API routes → WMATA client: fetches feeds
server/src/routes/bus.js - Rail map API → WMATA client: fetches rail map
server/src/routes/map.js - Arrival predictions → WMATA client: fetches arrivals
server/src/routes/predictions.js - Bus API → WMATA client: fetches bus data
server/src/routes/bus.js - Snapshot poller → WMATA client: fetches feeds
server/src/jobs/poller.js - WMATA client → WMATA API: requests data
server/src/middleware/wmata.js - Snapshot poller → Snapshot models: writes snapshots
server/src/jobs/poller.js - API routes → Snapshot models: reads history
server/src/routes/bus.js - Snapshot models → MongoDB: persists records
- MCP caller → MCP server: invokes tools
mcp/src/index.ts - MCP server → Transit tools: registers tools
mcp/src/index.ts - Transit tools → API fetch client: fetches API data
mcp/src/tools/service_history.ts - API fetch client → Express API: calls endpoints