How bbn-ai-lab-2026/hon_su_trong_canh works
Ditich Viet is a Vietnamese heritage discovery and learning app. Visitors upload a monument image, review an AI identification, then explore supporting learning stages such as mind maps, quizzes, stories, and VR tours; they can also browse monument collections and search. Administrators manage heritage content, learning materials, settings, and VR configurations. The excerpts support the main routing, recognition, authentication, and selected storage relationships; several feature-page internals are unsampled, so their links are not inferred.
Main entry points: App.tsx App routing · AdminPage.tsx Admin workspace · adminService.ts Admin content service · RecognitionPage.tsx Recognition workflow
Components 24
App shell & identity
- App routing
src/App.tsx - Authentication state
src/core/contexts/AuthContext.tsx - Local storage
src/core/services/storage.ts - Home page
src/pages/HomePage.tsx
Heritage discovery
- Recognition workflow
src/pages/RecognitionPage.tsx - Image upload
src/features/recognition/components/ImageUploader.tsx - Image identification
src/features/recognition/services/mlService.ts - Inference server
server.ts - Collection map
src/pages/CollectionMapPage.tsx - Monument search
src/pages/FindMonumentPage.tsx
Learning & immersion
- Mind maps
src/features/recognition/components/KnowledgeMindMapStep.tsx - Quizzes
src/features/recognition/components/QuickFunQuizStep.tsx - Heritage stories
src/features/recognition/components/HeritageRecordCard.tsx - VR tours
src/pages/VrTourPage.tsx
Administration
- Admin workspace
src/pages/AdminPage.tsx - Admin content service
src/features/admin/services/adminService.ts - VR configuration
src/features/vr-tour/services/vrTourAdminService.ts - VR tour manager
src/features/admin/components/VrTourManager.tsx - Mind map manager
src/features/admin/components/MindMapManager.tsx - Narration manager
src/features/admin/components/AudioNarrationManager.tsx - Story manager
src/features/admin/components/StoryManager.tsx - Quiz manager
src/features/admin/components/QuizManager.tsx - System settings
src/features/admin/components/SystemSettingsManager.tsx
Other components
- Visitor
Connections 27
- Visitor → App routing: opens
src/App.tsx - App routing → Home page: routes to
src/App.tsx - App routing → Recognition workflow: routes to
src/App.tsx - App routing → Collection map: routes to
- App routing → Monument search: routes to
src/App.tsx - App routing → VR tours: routes to
src/App.tsx - App routing → Admin workspace: guards route
src/App.tsx - App routing → Authentication state: provides state
src/App.tsx - Authentication state → Local storage: reads and writes
src/core/contexts/AuthContext.tsx - Recognition workflow → Image upload: renders upload
src/pages/RecognitionPage.tsx - Image upload → Image identification: identifies image
src/features/recognition/components/ImageUploader.tsx - Recognition workflow → Mind maps: renders stage
src/pages/RecognitionPage.tsx - Recognition workflow → Quizzes: renders stage
src/pages/RecognitionPage.tsx - Image identification → Inference server: requests inference
- Admin workspace → Admin content service: uses service
src/pages/AdminPage.tsx - Admin workspace → VR tour manager: renders manager
- Admin workspace → Mind map manager: renders manager
- Admin workspace → Narration manager: renders manager
- Admin workspace → Story manager: renders manager
- Admin workspace → Quiz manager: renders manager
- Admin workspace → System settings: renders manager
- Admin content service → Local storage: reads and writes
src/features/admin/services/adminService.ts - Admin content service → VR configuration: uses configuration
src/features/admin/services/adminService.ts - VR tour manager → VR configuration: manages tours
src/features/admin/components/VrTourManager.tsx - VR configuration → Local storage: reads and writes
src/features/vr-tour/services/vrTourAdminService.ts - Story manager → Admin content service: manages stories
src/features/admin/components/StoryManager.tsx - Mind map manager → Admin content service: saves content