How tonbunheng/tourism-travel works
AngkorVerses is a React tourism platform for public Cambodian travel discovery and authenticated tourist, business-owner, and tour-guide workflows. Visitors explore destinations and other travel content; members can plan trips, save favorites, book, review, and manage profiles, while business owners and guides manage listings, reservations, and contributed content. Routes select the portal and role guards; shared contexts provide session, travel, and alert state, with service modules communicating with the external Laravel API. README capabilities not represented in sampled code are retained at subsystem level; unsampled internals and connections are not inferred.
Main entry points: AppRoutes.jsx Route dispatch · App.jsx App providers · TravelUserDashboard.jsx Traveler hub · services Domain services
Components 26
Application shell
- App providers
src/App.jsx - Route dispatch
src/routes/AppRoutes.jsx - Public layout
src/layouts/TravelUserLayout/TravelUserLayout.jsx - Dashboard layout
src/layouts/DashboardLayout/DashboardLayout.jsx
Tourism discovery
- Explore destinations
src/pages - Business directory
src/pages/businesses - Events & gallery
src/pages/events - Guides & tours
src/pages/guides - AI travel assistant
src/components/chat/ChatWidget.jsx - Reviews
src/pages/reviews/Reviews.jsx
Traveler services
- Traveler hub
src/pages/travel-user/TravelUserDashboard.jsx - Trips & planner
src/pages/trips/Trips.jsx - Bookings
src/pages/bookings/MyBookings.jsx - Favorites & achievements
src/pages/favorites
Partner portals
- Business management
src/pages/business/BusinessManage.jsx - Business reports
src/pages/business/BusinessReports.jsx - Guide content portal
src/pages/guide
Shared platform
- Session & auth
src/context/AuthContext.jsx - Travel state
src/context/TravelContext.jsx - Alerts
src/context/AlertContext.jsx - Domain services
src/services - HTTP API client
src/services/api.js
Other components
- Traveler / visitor
- Business owner
- Tour guide / editor
- Laravel backend API
Connections 28
- Traveler / visitor → Route dispatch: opens routes
src/routes/AppRoutes.jsx - Business owner → Route dispatch: opens routes
src/routes/AppRoutes.jsx - Tour guide / editor → Route dispatch: opens routes
src/routes/AppRoutes.jsx - App providers → Route dispatch: renders
src/App.jsx - App providers → Session & auth: provides session
src/App.jsx - App providers → Travel state: provides travel state
src/App.jsx - App providers → Alerts: provides alerts
src/App.jsx - Route dispatch → Public layout: routes public
src/routes/AppRoutes.jsx - Route dispatch → Dashboard layout: routes portals
src/routes/AppRoutes.jsx - Route dispatch → Explore destinations: dispatches discovery
src/routes/AppRoutes.jsx - Route dispatch → Business directory: dispatches listings
src/routes/AppRoutes.jsx - Route dispatch → Events & gallery: dispatches content
src/routes/AppRoutes.jsx - Route dispatch → Traveler hub: dispatches hub
src/routes/AppRoutes.jsx - Route dispatch → Business management: dispatches business
src/routes/AppRoutes.jsx - Route dispatch → Guide content portal: dispatches guide
src/routes/AppRoutes.jsx - Public layout → AI travel assistant: renders
src/layouts/TravelUserLayout/TravelUserLayout.jsx - Explore destinations → Guides & tours: includes
- Explore destinations → Reviews: includes reviews
- Traveler hub → Trips & planner: links trips
src/pages/travel-user/TravelUserDashboard.jsx - Traveler hub → Bookings: loads bookings
src/pages/travel-user/TravelUserDashboard.jsx - Traveler hub → Favorites & achievements: loads favorites
src/pages/travel-user/TravelUserDashboard.jsx - Business management → Business reports: exports reports
- Session & auth → Domain services: uses auth service
src/context/AuthContext.jsx - Travel state → Domain services: loads travel data
src/context/TravelContext.jsx - Reviews → Domain services: uses review service
src/pages/reviews/Reviews.jsx - Domain services → HTTP API client: calls API client
src/services/reviewService.js - HTTP API client → Laravel backend API: sends requests
src/services/api.js - Reviews → Alerts: submits review