How luluh19/bundle-events works
Bundle Events is a trip-planning web app for building an event trip with lodging and onward transport, comparing multimodal routes and emissions, viewing routes on a map, and saving or reopening a bundle. The visible workflow spans bundle setup, route selection, hotel search, and saved-bundle access; the README also documents travel-time, distance, and CO₂ comparisons. The tree and excerpts establish several API integrations and map usage, but do not expose the full page-to-service wiring, so uncertain links are omitted.
Main entry points: route.ts Route geometry · server.ts Supabase client · liteapi.adapter.ts LiteAPI adapter · RoutesView.tsx Route choices
Components 30
Trip experience
- App shell
src/app/layout.tsx - Trip setup
src/components/views/HomeView.tsx - Bundle builder
src/components/BundleBuilder.tsx - Bundle view
src/components/views/BundleView.tsx - Route choices
src/components/views/RoutesView.tsx - Hotel choices
src/components/views/HotelsView.tsx - Travel map
src/components/TravelMap.tsx
Route planning
- Travel services
src/services/travel.ts - Event services
src/services/events.ts - Geocoding
src/services/geocoding.ts - Route geometry
src/app/api/trains/route-geometry/route.ts
Travel integrations
- Station search
src/app/api/stations/route.ts - Train search
src/app/api/trains/search/route.ts - Flight search
src/app/api/flights/search/route.ts - Hotel search
src/app/api/hotels/search/route.ts - LiteAPI adapter
src/adapters/hotels/liteapi.adapter.ts - Train booking link
src/app/api/booking/train/route.ts - Bus booking link
src/app/api/booking/bus/route.ts
Bundle persistence
- Bundle API
src/app/api/bundles/route.ts - Saved bundle API
src/app/api/bundles/[uuid]/route.ts - Supabase client
src/lib/supabase/server.ts - Bundles store
Other components
- Traveler
- SNCF API
- Travelpayouts
- LiteAPI
- Rail routing
- OSRM
- Trainline
- FlixBus
Connections 15
- Traveler → App shell: opens
- Route choices → Travel map: renders
- Station search → SNCF API: fetches stations
- Train search → SNCF API: searches journeys
- Route geometry → SNCF API: fetches journeys
- Route geometry → Rail routing: requests rail geometry
- Route geometry → OSRM: requests fallback geometry
- Flight search → Travelpayouts: searches fares
- Hotel search → LiteAPI adapter: calls
- LiteAPI adapter → LiteAPI: searches hotels
- Train booking link → Trainline: resolves locations
- Bus booking link → FlixBus: resolves cities
- Bundle API → Supabase client: uses client
- Saved bundle API → Supabase client: uses client
- Supabase client → Bundles store: reads and writes