How trieudb3317dev/digital-museum works
Digital Museum is a public digital-heritage frontend with museum directories, artifact records, collections, exhibitions, search and virtual tours, alongside museum-admin tools for content and curation. Visitors browse or search published material, open linked records, and view tour scenes; editors manage artifacts and media, while curators organize collections, exhibitions and tour hotspots. Public pages currently mix in-memory repository data and the optional backend API adapter; the README says most public pages are not yet migrated. The supplied tree omits the documented backend, so it is represented only as an external API. Connections reflect shown imports/calls or README statements.
Main entry points: backend-api.ts API adapter · app/page.tsx Home · [slug]/page.tsx Artifact record · tour-viewer.tsx Tour viewer
Components 28
Public discovery
- Home
app/page.tsx - Site shell
components/site.tsx - Search
app/search/search-client.tsx - Museum directory
app/museums/page.tsx - Museum detail
app/museums/[slug]/page.tsx
Content records
- Collections
app/collections/page.tsx - Collection detail
app/collections/[slug]/page.tsx - Exhibitions
app/exhibitions/page.tsx - Exhibition detail
app/exhibitions/[slug]/page.tsx - Artifact record
app/artifacts/[slug]/page.tsx - Favorites control
app/artifacts/[slug]/favorite-button.tsx - Narration player
app/artifacts/[slug]/narration-player.tsx
Immersive media
- Tour directory
app/tours/page.tsx - Tour page
app/tours/[slug]/page.tsx - Tour viewer
components/viewers/tour-viewer.tsx - Panorama viewer
components/viewers/panorama-viewer.tsx - Virtual room
components/viewers/virtual-room-3d.tsx - 3D model viewer
components/viewers/model3d-viewer.tsx
Museum administration
- Artifact management
app/admin/admin-client.tsx - Curation workspace
app/admin/curation/curation-client.tsx - Museum management
app/admin/museums/museum-management-client.tsx
Data access
- Demo dataset
lib/data.ts - Repositories
lib/repositories.ts - Museum directory data
lib/vietnam-museums.ts - API adapter
lib/backend-api.ts
Other components
- Visitor
- Museum editor
- Backend API
Connections 34
- Visitor → Home: opens
app/page.tsx - Visitor → Search: searches
app/search/search-client.tsx - Visitor → Museum directory: browses
README.md - Visitor → Collections: browses
README.md - Visitor → Exhibitions: browses
README.md - Visitor → Tour directory: browses
README.md - Home → Site shell: renders
app/page.tsx - Home → Demo dataset: reads
app/page.tsx - Home → Museum directory data: reads
app/page.tsx - Home → Tour directory: links to
app/page.tsx - Museum directory → Museum directory data: reads
app/museums/page.tsx - Museum detail → Repositories: reads
app/museums/[slug]/page.tsx - Repositories → Demo dataset: reads
lib/repositories.ts - Search → API adapter: searches via
app/search/search-client.tsx - Collections → API adapter: loads via
app/collections/page.tsx - Collection detail → API adapter: loads via
app/collections/[slug]/page.tsx - Exhibitions → API adapter: loads via
app/exhibitions/page.tsx - Exhibition detail → API adapter: loads via
app/exhibitions/[slug]/page.tsx - Artifact record → API adapter: loads via
app/artifacts/[slug]/page.tsx - Artifact record → Favorites control: renders
app/artifacts/[slug]/page.tsx - Artifact record → Narration player: renders
app/artifacts/[slug]/page.tsx - Artifact record → 3D model viewer: renders
app/artifacts/[slug]/page.tsx - Tour directory → API adapter: loads via
app/tours/page.tsx - Tour page → API adapter: loads via
app/tours/[slug]/page.tsx - Tour page → Tour viewer: renders
app/tours/[slug]/page.tsx - Tour viewer → Panorama viewer: uses
components/viewers/tour-viewer.tsx - Tour viewer → Virtual room: uses
components/viewers/tour-viewer.tsx - Museum editor → Artifact management: manages
README.md - Museum editor → Curation workspace: curates
README.md - Museum editor → Museum management: manages
README.md - Artifact management → API adapter: manages via
app/admin/admin-client.tsx - Curation workspace → API adapter: curates via
app/admin/curation/curation-client.tsx - Museum management → API adapter: manages via
app/admin/museums/museum-management-client.tsx - API adapter → Backend API: requests
README.md