How ojas2005/shiksha-setu-main works
Shiksha Setu is an offline-first classroom assessment PWA. Teachers enter through the app shell, manage classes and students, create and print a leveled assessment, import grading results, and review learning-group recommendations for teaching action. Its domain spans question-bank and paper creation, result processing, recommendation, and instructional material; administrators also edit the knowledge graph and review offline sync. The source excerpts establish the assessment and persistence calls shown; routes and some subsystem wiring are documented but their implementation was not sampled.
Main entry points: main.tsx App Shell · assessment-flow.tsx Assessment Flow · db.ts Offline Data Layer · student-register.tsx Student Register
Components 19
App and Navigation
- App Shell
src/main.tsx - Role Dashboard
src/views/main-views.tsx - Student Register
src/views/student-register.tsx
Assessment Workflow
- Assessment Flow
src/views/assessment-flow.tsx - Question Bank
src/lib/data.ts - NCERT Questions
src/lib/ncert-questions.ts - Assessment Services
src/lib/services.ts - Paper PDF
src/components/print-paper.tsx - Hindi PDF Renderer
src/components/pdf-devanagari.ts - Assessment History
src/views/assessment-history.tsx - Saved Question Sets
src/views/saved-question-sets.tsx
Teaching Support
- Group Recommendations
src/lib/services.ts - Knowledge Graph
src/lib/knowledge-graph.ts - Graph Editor
src/views/kg-editor.tsx - Study Materials
src/components/study-material-modal.tsx
Offline Data
- Offline Data Layer
src/lib/db.ts
Other components
- Teacher or Admin
- Gemini or ChatGPT
- IndexedDB
Connections 21
- Teacher or Admin → App Shell: opens
- App Shell → Offline Data Layer: loads data
- App Shell → Role Dashboard: routes to
- App Shell → Assessment Flow: routes to
- App Shell → Student Register: routes to
- App Shell → Assessment History: routes to
- App Shell → Saved Question Sets: routes to
- App Shell → Graph Editor: routes to
- Assessment Flow → Question Bank: uses questions
- Question Bank → NCERT Questions: includes questions
- Assessment Flow → Offline Data Layer: saves paper
- Assessment Flow → Paper PDF: generates PDFs
- Paper PDF → Hindi PDF Renderer: renders Hindi
- Assessment Flow → Gemini or ChatGPT: sends prompt
- Gemini or ChatGPT → Assessment Flow: returns results
- Assessment Flow → Assessment Services: parses and maps
- Assessment Services → Group Recommendations: builds groups
- Group Recommendations → Knowledge Graph: gets guidance
- Student Register → Offline Data Layer: saves records
- Graph Editor → Offline Data Layer: saves graph edits
- Offline Data Layer → IndexedDB: persists locally