Spaces:
Runtime error
Runtime error
Commit History
-
✨ Dashboard for all teachers (own-data scoped) + fix report IDOR
chih.yikuan +1: Claude Opus 4.8 (1M context)- Dashboard (後台) now open to every logged-in teacher; non-admins see ONLY their own quizzes/students/results. Admins still see everything. - Server-enforced scoping: get_stats/admin_list_sessions/admin_list_students take an optional teacher_id; detail+delete endpoints verify ownership (_owns_quiz/_owns_student) → 404 cross-teacher. User-management stays admin-only (403 for non-admins). - Frontend: dashboard button shown to all (我的資料 vs 管理後台); teachers tab, admin cards, schema version, and delete hidden for non-admins (cosmetic; server is source of truth). - SECURITY FIX (pre-existing): GET /api/reports/{id} had no ownership check — any teacher could read any report by id. Now enforced via parent quiz. - Defense-in-depth: get_student_timeline / get_quiz_results now filter by the owning teacher so authorization no longer relies on a write-time invariant. - Tests: scoping test added (83 pass). Reviewed adversarially (1 blocker fixed). Co-Authored-By: Claude Opus 4.8 (1M c…3ee2df6 -
Admin: quiz-detail view (raw files + structured Q&A) + student raw answers (#2)
- ✨ Admin: quiz-detail view (raw files + structured Q&A) + student raw answers (d6c5e0578ed3f41b0c22530d24606c33631e9e03)108b5b1
-
Add database management: Supabase persistence, teacher profiles, admin dashboard (#1)
- ✨ Add database management: Supabase persistence, teacher profiles, admin dashboard (9f97e2888339dd0323b003479f8691cbcf0ea052) - 🐳 Bump frontend builder to node:22-slim for Vite 7 (>=20.19/22.12 required) (c7044b0c28cc90bebd5f45e00831a4cf5ca1accb) - 🛡️ Fail loud on misconfigured prod DB; Dockerfile migrate && serve (c43fd58ec8aff83b88ef376511e291a963d246a8)4c4a722
-
Refactor to add answer grid & assoicate llm parsing
Yu Chenad5d4b6
-
Redesign ClassLens v2: 3-step exam analysis workflow
chih.yikuan +1: Claude Opus 4.6Replace ChatKit-based chat UI with a structured 3-step workflow: 1. Upload & parse exam files (questions, student answers, teacher answers) via GPT Vision 2. Edit analysis prompts with save/load/share functionality 3. Generate and export HTML reports (PDF/PNG) - Add JWT email/password auth (replace Google OAuth) - Add file processor with multi-format support (PDF, images, text files) - Add image-to-text description for visual exam content - Add model selector (GPT-5.4, 5.3 Instant, 4o, etc.) - Add per-zone file upload with inline parsed data preview - Remove ChatKit SDK, Google Sheets, email service dependencies - Remove .env from tracking (contains API keys) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>bc45e54
-
🔧 Fix OAuth: auto-detect redirect_uri + sync all ClassLens updates
chih.yikuane5c2788 -
🚀 ExamInsight: AI-powered exam analysis for teachers
chih.yikuanFeatures: - Google Forms/Sheets integration - AI grading with GPT-4.1-mini - Beautiful HTML report generation (bilingual EN/中文) - Chart.js visualizations - Real-time tool call logging - Email reports via Gmail SMTP - Docker deployment for HF Spaces054d73a