ChapterWise v1.0.0 — Initial Release
AI-powered chapter-wise test platform for Indian school students (Grade 6–10). Students practise by answering CBSE-pattern questions verbally; Claude evaluates key-point coverage and gives instant encouraging feedback.
Highlights
Student Portal
- PIN-based login (teacher-assigned name + 4-digit PIN, no self-registration)
- Board → Grade → Subject → Chapter cascading selection
- CBSE-pattern question paper: Section A (1-mark), Section B (3-mark), Section C (5-mark)
- Questions scaled to chapter size — 20 to 35 questions covering every subtopic
- Marks-aware hints showing how much detail is expected per question
- Voice answers via Web Speech API with real-time transcription
- Text-to-Speech question playback with replay button
- Per-question AI feedback: covered points shown in green, missed points in amber
- Full test summary with total score, section-wise breakdown, and per-question detail
- 30-minute inactivity session timeout with automatic expiry
Admin Panel
- Student account management — create, delete, and reset PINs
- PDF upload with board, grade, subject, and chapter metadata
- Content management — view, organise, and delete uploaded chapters
- Question cache with Refresh button to force regeneration
- Anthropic API key management via UI (no server restarts needed)
- Admin password change from the settings page
UI & Branding
- ChapterWise logo displayed on every page
- Blue-to-green gradient colour scheme
- Fully responsive layout for phones and tablets
Tech Stack
| Layer | Technology |
|---|---|
| Backend | Python 3.9+, Flask 3.0, SQLAlchemy, SQLite |
| AI | Anthropic Claude API (claude-haiku-4-5) |
| PDF Extraction | pdfplumber |
| Frontend | React 18, Vite, React Router v6 |
| Voice Input | Browser Web Speech API (en-IN) |
| Text-to-Speech | Browser speechSynthesis API |
| Auth | bcrypt, Flask sessions, PIN-based student login |
Getting Started
See the README for full installation and setup instructions.
Voice input requires Google Chrome or a Chromium-based browser. Students on unsupported browsers can type their answers instead.