How parvincodes/kgs_gurmatstudies works
Khalsa Gurmat School is an early-preview study portal for students, teachers, and parents. Its main operational workflow lets teachers upload materials, review and approve them, and make approved items available for browsing and preview; parent surveys provide a separate input-and-results workflow. The portal also includes Sikh Empire history content and a Japji Sahib assistant. The graph preserves mock and placeholder capabilities documented in the README. Some client-to-API wiring is not visible in the excerpts, so uncertain relationships are omitted.
Main entry points: materials-db.ts Materials records · sikh-empire/page.tsx Sikh Empire history · upload/page.tsx Teacher upload · review/page.tsx Material review
Components 30
Portal and study
- Home and program
src/app/page.tsx - Sample materials
src/app/materials/page.tsx - Progress preview
src/app/progress/page.tsx - Login placeholder
src/app/login/page.tsx
Materials workflow
- Teacher upload
src/app/upload/page.tsx - Material review
src/app/review/page.tsx - Upload API
src/app/api/upload/route.ts - Materials API
src/app/api/materials/route.ts - Material detail API
src/app/api/materials/[id]/route.ts - Public materials API
src/app/api/public/materials/route.ts - Materials records
src/lib/materials-db.ts - Postgres
- Vercel Blob
- File preview panel
src/components/FilePreviewPanel.tsx
Parent survey
- Parent survey
src/app/survey/page.tsx - Survey API
src/app/api/survey/route.ts - Survey results
src/app/survey/results/page.tsx - Survey responses
src/lib/survey-db.ts
Learning features
- Sikh Empire history
src/app/history/sikh-empire/page.tsx - Chronology data
src/lib/sikh-empire-chronology.ts - Event timeline
src/components/history/EventTimeline.tsx - Lifespans chart
src/components/history/LifespansChart.tsx
Japji assistant
- Search widget
src/components/SearchWidget.tsx - Japji detection
src/lib/japji-detect.ts - Japji chat API
src/app/api/japji-chat/route.ts - Japji assistant
src/lib/japji-agent.ts - Anthropic Claude
Other components
- Students and visitors
- Teachers
- Parents
Connections 26
- Students and visitors → Home and program: browse
- Students and visitors → Sample materials: browse
- Students and visitors → Progress preview: view preview
- Teachers → Teacher upload: upload materials
- Teachers → Material review: review materials
- Parents → Parent survey: submit answers
- Teacher upload → Upload API: requests upload
src/app/upload/page.tsx - Upload API → Vercel Blob: stores file
- Teacher upload → Materials API: saves metadata
- Material review → Materials API: loads materials
src/app/review/page.tsx - Materials API → Materials records: reads and writes
src/app/api/materials/route.ts - Material detail API → Materials records: updates records
src/app/api/materials/[id]/route.ts - Public materials API → Materials records: reads approved
src/app/api/public/materials/route.ts - Materials records → Postgres: queries
src/lib/materials-db.ts - Material review → File preview panel: opens preview
src/app/review/page.tsx - Parent survey → Survey API: submits responses
- Survey results → Survey API: loads results
- Survey API → Survey responses: creates and lists
src/app/api/survey/route.ts - Survey responses → Postgres: queries
src/lib/survey-db.ts - Sikh Empire history → Chronology data: reads chronology
src/app/history/sikh-empire/page.tsx - Sikh Empire history → Event timeline: renders events
src/app/history/sikh-empire/page.tsx - Sikh Empire history → Lifespans chart: renders lifespans
src/app/history/sikh-empire/page.tsx - Search widget → Japji detection: detects topic
src/components/SearchWidget.tsx - Search widget → File preview panel: opens result
src/components/SearchWidget.tsx - Japji chat API → Japji assistant: delegates answer
src/app/api/japji-chat/route.ts - Japji assistant → Anthropic Claude: asks Claude