How yoshido24/tourist-navigator-application works
Tourist Navigator serves three connected roles: visitors discover Montalban attractions, plan routes and transport, and book tours; admins maintain attractions, transport, guides, bookings, and shop products; guides review assignments, run tours, and view completed-tour history. Each portal bundle loads shared state and renders its role-specific experience. The README documents additional shop, visitor, and guide-application capabilities that are represented by feature-directory nodes where detailed source was not sampled. Runtime links below follow documented portal responsibilities and sampled calls; unsampled feature wiring is not inferred.
Main entry points: state.js State and storage · js/portal.js Tourist portal · js/portal.js Admin portal · js/portal.js Guide portal
Components 28
Tourist Portal
- Web app
apps/web/user.html - Tourist portal
frontend/web/js/portal.js - Attraction discovery
frontend/web/features/attractions/attractions.js - Attraction map
frontend/web/features/map/map.js - Routes and transit
frontend/web/features/directions/directions.js - Tour booking
frontend/web/features/booking/booking.js - Mini Shop
frontend/web/features/shop/shop.js
Admin Portal
- Admin app
apps/desktop/admin.html - Admin portal
frontend/desktop/js/portal.js - Attraction management
frontend/desktop/features/attractions/attractions.js - Transit editor
frontend/desktop/features/transport/transport.js - Booking assignment
frontend/desktop/features/bookings/bookings.js - Shop management
frontend/desktop/features/shop/shop.js - Guide and applications
frontend/desktop/js/portal.js
Guide Portal
- Guide app
apps/mobile/guide.html - Guide portal
frontend/mobile/js/portal.js - Tour schedule
frontend/mobile/features/schedule/schedule.js - Completed tours
frontend/mobile/features/bookings/bookings.js - Visitor lists
frontend/mobile/features/visitors/visitors.js - Guide access
frontend/mobile/js/guide-signup.js
Shared Runtime
- State and storage
frontend/shared/js/state.js - Supabase
- Browser IndexedDB
Other components
- Tourist
- Tour Guide
- Administrator
- OpenStreetMap tiles
- External map services
Connections 33
- Tourist → Web app: opens
- Web app → Tourist portal: loads
- Tourist portal → State and storage: loads state
- Tourist portal → Attraction discovery: renders
- Tourist portal → Attraction map: renders
- Tourist portal → Tour booking: sets up
- Tourist portal → Mini Shop: renders
- Attraction discovery → Routes and transit: selects route
- Attraction map → OpenStreetMap tiles: loads tiles
- Routes and transit → External map services: opens directions
- Tour booking → State and storage: updates state
- Administrator → Admin app: opens
- Admin app → Admin portal: loads
- Admin portal → State and storage: loads state
- Admin portal → Attraction management: manages
- Admin portal → Booking assignment: manages
- Admin portal → Shop management: sets up
- Admin portal → Guide and applications: renders
- Attraction management → Transit editor: edits options
- Attraction management → State and storage: updates state
- Booking assignment → State and storage: updates state
- Shop management → State and storage: updates state
- Guide and applications → State and storage: updates state
- Tour Guide → Guide app: opens
- Guide app → Guide portal: loads
- Guide portal → State and storage: loads state
- Guide portal → Tour schedule: renders
- Guide portal → Completed tours: renders
- Guide portal → Visitor lists: renders
- Guide access → State and storage: updates state
- Tour schedule → State and storage: updates state
- State and storage → Supabase: reads and writes
- State and storage → Browser IndexedDB: falls back