How siddheshbhole/heritage-and-cultural-preservation works
This is a Ministry of Culture heritage-and-culture discovery platform: visitors browse places, heritage, cultural resources, media and documents, or search and ask an assistant for guidance; contributors and guides can participate, while administrators manage records. The frontend routes these experiences and calls a FastAPI backend, whose routers are registered in backend/app/main.py; persistence is provided through SQLAlchemy. The sampled files establish routing, search UI, authentication and database setup. Several feature implementations were not sampled, so their internal handoffs are not inferred.
Main entry points: main.py FastAPI application · App.tsx Web application · Search.tsx Search experience · database.py Database access
Components 29
Visitor experience
- Web application
frontend/src/App.tsx - Place and heritage pages
frontend/src/pages/Heritage.tsx - Search experience
frontend/src/pages/Search.tsx - Assistant experience
frontend/src/pages/AssistantPage.tsx - Media experience
frontend/src/pages/media/MediaLayout.tsx - Document experience
frontend/src/pages/documents/DocumentsHome.tsx - Admin experience
frontend/src/pages/Admin.tsx - API client
frontend/src/api/client.ts
Platform API
- FastAPI application
backend/app/main.py - Geography routes
backend/app/routes/geo.py - Heritage routes
backend/app/routes/heritage.py - Culture content routes
backend/app/routes/content.py - Search routes
backend/app/routes/search.py - Search engine
backend/app/search_engine.py - Assistant routes
backend/app/routes/assistant.py - Media routes
backend/app/routes/media.py - Document routes
backend/app/routes/documents.py
Identity and participation
- Community routes
backend/app/routes/community.py - Guide authentication
backend/app/routes/guide_auth.py - Heritage guide routes
backend/app/routes/heritage_guides.py - Website authentication
frontend/src/context/AuthContext.tsx
Administration
- Admin routes
backend/app/routes/admin.py - Admin record routes
backend/app/routes/admin_crud.py - Audit routes
backend/app/routes/admin_audit.py
Persistence
- Database access
backend/app/database.py - Domain models
backend/app/models.py - SQLite or PostgreSQL
Other components
- Visitor
- Supabase Auth
Connections 27
- Visitor → Web application: browses
- Web application → Place and heritage pages: routes to
- Web application → Search experience: routes to
- Web application → Assistant experience: routes to
- Web application → Media experience: routes to
- Web application → Document experience: routes to
- Web application → Admin experience: routes to
- Search experience → API client: imports
- Search experience → FastAPI application: fetches search
- FastAPI application → Geography routes: registers router
- FastAPI application → Heritage routes: registers router
- FastAPI application → Culture content routes: registers router
- FastAPI application → Search routes: registers router
- FastAPI application → Assistant routes: registers router
- FastAPI application → Media routes: registers router
- FastAPI application → Document routes: registers router
- FastAPI application → Community routes: registers router
- FastAPI application → Guide authentication: registers router
- FastAPI application → Heritage guide routes: registers router
- FastAPI application → Admin routes: registers router
- FastAPI application → Admin record routes: registers router
- FastAPI application → Audit routes: registers router
- Search routes → Search engine: retrieval logic
- FastAPI application → Database access: creates tables
- Database access → SQLite or PostgreSQL: connects to
- Database access → Domain models: provides base
- Website authentication → Supabase Auth: auth requests