Transit Tracker
Civic · React + Node (Express) · 8 @molecule/* packages
Citymapper-like transit tracker with stops, routes, live arrival boards (simulated feed), service alerts, and a trip planner — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (16)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Nearby
/nearby(signed in) - StopBoard
/stops/:code(signed in) - RouteDetail
/lines/:code(signed in) - TripPlanner
/plan(signed in) - Alerts
/alerts(signed in) - SavedStops
/saved(signed in) - Settings
/settings(signed in) - PlanUpdated
/plan-updated(signed in) - About
/about - Privacy
/privacy - Terms
/terms
Data model (9 tables)
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- transit_lines — code, name, kind, color, polyline, created_at
- transit_stops — code, name, lat, lng, hub, created_at
- transit_stop_positions — line_code, stop_code, sequence, travel_seconds_from_prev
- transit_schedules — id, line_code, direction, first_departure, last_departure, headway_seconds
- transit_alerts — id, line_code, severity, title, body, starts_at, ends_at, created_at
- saved_stops — id, user_id, stop_code, created_at
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
- notifications — id, user_id, type, title, body, icon, read, created_at
API (8 handlers)
- \_seed
api/src/handlers/_seed.ts - alerts
api/src/handlers/alerts.ts - arrivals
api/src/handlers/arrivals.ts - network
api/src/handlers/network.ts - notifications
api/src/handlers/notifications.ts - preferences
api/src/handlers/preferences.ts - saved-stops
api/src/handlers/saved-stops.ts - trips
api/src/handlers/trips.ts
Built from 8 @molecule/* packages
Required secrets
DATABASE_URLPostgreSQL connection stringSTRIPE_SECRET_KEYStripe secret API key (sk_test_... in test mode)STRIPE_WEBHOOK_SECRETStripe webhook signing secret (whsec_...)
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing