How nddkhoa/vn-go-travel works
VN GO Travel is a travel-POI product spanning a MAUI mobile app, an Express/MongoDB backend, and an admin dashboard. The primary traveler flow is map browsing or QR/deep-link entry, followed by POI detail and narration; location geofencing can trigger short audio automatically. Mobile POI data is local-first for offline use, with optional API synchronization. The backend also supports authentication, access and moderation workflows, while the dashboard exposes administration and analytics. The README documents these capabilities; sampled source confirms selected bootstrap, download, admin-user, and event-ingestion behavior, not every connection.
Main entry points: MapViewModel.cs Map workflow · app.js Express API · db.js MongoDB · MapPage.xaml.cs Mobile screens
Components 26
Traveler app
- Mobile screens
Views/MapPage.xaml.cs - Map workflow
ViewModels/MapViewModel.cs - QR entry
ViewModels/QrScannerViewModel.cs
POI experience
- Entry coordinator
Services/PoiEntryCoordinator.cs - QR resolver
Services/QrResolver.cs - POI detail
ViewModels/PoiDetailViewModel.cs - Local POI store
Services/PoiDatabase.cs - Localization
Services/LocalizationService.cs - GPS location
Services/LocationService.cs - Geofence
Services/GeofenceService.cs - Audio playback
Services/AudioPlayerService.cs - POI translation
Services/PoiTranslationService.cs - Zone audio download
Services/ZoneDownloadService.cs
Backend services
- API client
Infrastructure/Remote/ApiClient.cs - Express API
backend/src/app.js - Authentication
backend/src/controllers/auth.controller.js - POI services
backend/src/services/poi.service.js - POI moderation
backend/src/controllers/admin-poi.controller.js - MongoDB
backend/src/config/db.js
Administration
- User administration
backend/src/controllers/admin-user.controller.js - Admin dashboard
admin-web/src/App.jsx - Admin workflows
admin-web/src/pages
Event telemetry
- Event ingestion API
TranslationEvents.Api/Controllers/EventsController.cs - Event validation
TranslationEvents.Api/Services/EventValidationService.cs - Contract telemetry
ContractObservability/ContractTelemetryTracker.cs
Other components
- Traveler
Connections 28
- Traveler → Mobile screens: uses
- Mobile screens → Map workflow: presents
- Mobile screens → QR entry: opens scanner
- Map workflow → Local POI store: reads POIs
- Map workflow → Localization: localizes text
- Map workflow → GPS location: requests position
- Map workflow → Geofence: evaluates regions
- Geofence → Audio playback: triggers narration
- QR entry → QR resolver: parses QR
- QR resolver → Entry coordinator: resolves entry
- Entry coordinator → POI detail: navigates to
- Entry coordinator → Map workflow: navigates to
- POI detail → Audio playback: plays narration
- POI detail → POI translation: requests translation
- Zone audio download → API client: fetches audio data
- API client → Express API: calls API
- Admin dashboard → Admin workflows: presents workflows
- Admin workflows → Express API: calls API
- Express API → Authentication: dispatches auth
- Express API → POI services: dispatches POI requests
- Express API → POI moderation: dispatches moderation
- Express API → User administration: dispatches user admin
- Authentication → MongoDB: reads and writes
- POI services → MongoDB: reads and writes
- POI moderation → MongoDB: reads and writes
- User administration → MongoDB: reads and writes
- Event ingestion API → Event validation: partitions events
- Event ingestion API → Contract telemetry: records samples