How safarly-sa/safarly works
Safarly is a Saudi-focused travel companion website. Its principal workflow is for a traveler to specify a trip, generate and view a day-by-day itinerary, and use destination and travel tools along the way. The README says the site currently runs on local data and does not use the API server; that server is explicitly described as a skeleton. The graph therefore focuses on the frontend and itinerary engine. Route wiring is visible in App.tsx, but unsampled page and API-client implementations limit further call-level detail.
Main entry points: App.tsx Safarly app · engine.ts Itinerary engine · generating.tsx Generation view · trip.tsx Trip setup
Components 15
Website shell
- Safarly app
artifacts/safarly/src/App.tsx - Home page
artifacts/safarly/src/pages/home.tsx - Language provider
artifacts/safarly/src/providers/I18nProvider.tsx
Trip planning
- Trip setup
artifacts/safarly/src/pages/trip.tsx - Generation view
artifacts/safarly/src/pages/generating.tsx - Itinerary engine
artifacts/safarly/src/lib/engine.ts - Itinerary view
artifacts/safarly/src/pages/itinerary.tsx
Travel discovery
- Travel stories
artifacts/safarly/src/pages/stories.tsx - Story detail
artifacts/safarly/src/pages/story-detail.tsx - Create story
artifacts/safarly/src/pages/create-story.tsx
Traveler tools
- Live Lens
artifacts/safarly/src/pages/lens.tsx - Dialect guide
artifacts/safarly/src/pages/dialect.tsx - Travel companion
artifacts/safarly/src/pages/companion.tsx
Local planning data
- Points of interest
lib/poi-data/src/index.ts
Other components
- Traveler
Connections 16
- Traveler → Safarly app: opens
- Safarly app → Home page: routes to
- Safarly app → Trip setup: routes to
- Safarly app → Generation view: routes to
- Safarly app → Itinerary view: routes to
- Safarly app → Travel stories: routes to
- Safarly app → Story detail: routes to
- Safarly app → Create story: routes to
- Safarly app → Live Lens: routes to
- Safarly app → Dialect guide: routes to
- Safarly app → Travel companion: routes to
- Trip setup → Generation view: submits trip
- Generation view → Itinerary engine: generates with
- Itinerary engine → Points of interest: reads
- Itinerary engine → Itinerary view: produces itinerary
- Traveler → Language provider: chooses language