Repository navigation
Project Architecture & Specifications
Phát Nguyễn edited this page Sep 25, 2026
·
3 revisions
- Framework: React.js (Mobile-first Web Application / PWA)
- Interactive Mapping: OpenStreetMap.js (Leaflet / MapLibre GL integration)
- Framework: Python FastAPI (Structured using 3-Layer Architecture: Router -> Service -> Repository)
- Database: SQLite (MVP / Initial phase) / PostgreSQL (Production ready)
-
Text Translation:
deep-translator/ Google Translate API integration -
Text-to-Speech (TTS): Python
edge-ttslibrary (Pre-rendered and cached MP3 static files)
- Containerization: Docker & Docker Compose (To be confirmed with Instructor)
- Storage & Caching: Local Static File Server / Caching for pre-generated audio
- QR Code POI Access: Visitors scan QR codes placed at exhibits or galleries to access localized content and audio guides without downloading an application.
- Interactive Map & Route Guidance: Recommended exhibit sequences and walking directions powered by OpenStreetMap.js to guide visitors through rooms.
-
Automated Translation & Audio Pipeline: Background pipeline translating exhibit text into 15+ languages and generating natural voice audio using
edge-tts. - Centralized Exhibit Database: Structured storage for localized text descriptions, QR code mappings, audio file URLs, and thumbnail images.
- Admin Management Dashboard: Web interface allowing museum personnel to manage exhibits, review AI-translated text, and upload media files.
- System Health & Usage Monitoring: Basic logging and monitoring interface to observe server loads, traffic, and visitor usage analytics.
- US01 - Instant QR Code Access: As a museum visitor, I want to scan QR codes placed at exhibits using my smartphone browser, so that I can immediately access localized content and audio guides without downloading an application.
- US02 - Interactive Map & Route Guidance: As a museum visitor, I want to view an interactive map with recommended walking routes, so that I can easily navigate through rooms and locate specific exhibits.
- US03 - Multilingual Audio Guides: As an international tourist, I want to read and listen to exhibit descriptions in my native language, so that I can fully understand the historical and cultural context of each artifact.
- US04 - Content & Media Management: As a museum staff member, I want to manage exhibit information, QR code mappings, and media files through an admin dashboard, so that visitor-facing content is always organized and up to date.
- US05 - AI Translation & Audio Review: As a museum curator, I want to review and edit AI-generated text translations before they are pre-rendered into audio, so that the published guide maintains high translation accuracy.
- US06 - System Health & Analytics Monitoring: As a system administrator, I want to monitor server load, traffic patterns, and visitor analytics on a dashboard, so that I can ensure system performance and reliability during peak operating hours.