How helvetiche/quizche works
QuizChe is a web-based AI study platform for students and teachers. Its central workflow turns uploaded PDFs into editable flashcard sets or quizzes; students study cards and take assigned quizzes, while teachers organize sections, assign quizzes, monitor attempts, and review results. The graph also captures social sharing and the authentication, API, and persistence layers. README-documented capabilities are included, but unsampled routes and components are grouped at supported directory paths; edges without direct source evidence are omitted.
Main entry points: api API routes · firebase-admin.ts Firebase Admin · GoogleAuthButton.tsx Sign-in and roles · quizzes Quiz attempts
Components 27
Student learning
- Flashcard features
app/api/flashcards - Quiz attempts
app/api/student/quizzes - Quiz history and results
app/student/history/[attemptId]/page.tsx
Teacher tools
- Quiz drafts
app/api/quizzes/drafts - Quiz management
app/api/quizzes - Class sections
app/api/teacher/sections - Live monitoring
app/api/teacher/quizzes/[id]/live/route.ts - Anti-cheat tracking
app/components/create/useAntiCheat.ts
Content creation
- PDF upload
app/components/create/PDFUploadModal.tsx - Flashcard authoring
app/components/create/flashcard-maker/hooks/useFlashcardMaker.ts - Quiz authoring
app/components/create/quiz-form/useQuizForm.ts
Connections and sharing
- Classmate connections
app/api/connections
Platform services
- Sign-in and roles
app/components/GoogleAuthButton.tsx - Profile setup
app/components/auth/ProfileSetup.tsx - API client
app/lib/api.ts - Token verification
lib/auth.ts - API routes
app/api - Input validation
lib/validation.ts - CSRF protection
lib/csrf.ts - Rate limiting
lib/rate-limit.ts - Error handling
lib/error-handler.ts - Firebase client
lib/firebase.ts - Firebase Admin
lib/firebase-admin.ts - Firestore data
- Redis
Other components
- Students
- Teachers
Connections 39
- Students → Sign-in and roles: sign in
README.md - Teachers → Sign-in and roles: sign in
README.md - Sign-in and roles → API client: register or log in
app/components/GoogleAuthButton.tsx - Sign-in and roles → Firebase client: authenticate with
app/components/GoogleAuthButton.tsx - Sign-in and roles → Profile setup: choose role
app/page.tsx - API client → CSRF protection: fetch token via
app/lib/api.ts - API client → API routes: send requests
app/lib/api.ts - API routes → Token verification: verify identity
app/api/connections/route.ts - API routes → Firebase Admin: read and write data
app/api/connections/route.ts - API routes → Input validation: validate inputs
app/api/connections/route.ts - API routes → CSRF protection: verify mutations
app/api/connections/route.ts - API routes → Rate limiting: limit requests
app/api/connections/route.ts - API routes → Error handling: handle failures
app/api/connections/route.ts - Token verification → Firebase Admin: verify tokens with
lib/auth.ts - Firebase Admin → Firestore data: accesses
lib/firebase-admin.ts - CSRF protection → Redis: stores tokens in
lib/csrf.ts - Rate limiting → Redis: uses
lib/rate-limit.ts - Error handling → API routes: returns safe errors
lib/error-handler.ts - Students → PDF upload: upload materials
README.md - Teachers → PDF upload: upload materials
README.md - PDF upload → Flashcard authoring: configure card generation
README.md - PDF upload → Quiz authoring: configure quiz generation
README.md - Flashcard authoring → Flashcard features: save and edit sets
- Quiz authoring → Quiz drafts: save drafts
app/components/create/quiz-form/useQuizForm.ts - Quiz authoring → Quiz management: create quizzes
- Flashcard features → Firebase Admin: persist and query
app/api/flashcards/route.ts - Quiz management → Firebase Admin: persist quiz data
app/api/quizzes/route.ts - Quiz drafts → Firebase Admin: persist drafts
app/api/quizzes/drafts/route.ts - Teachers → Class sections: organize classes
README.md - Class sections → Firebase Admin: read and write sections
app/api/teacher/sections/route.ts - Teachers → Quiz management: assign quizzes
README.md - Students → Quiz attempts: take assigned quizzes
README.md - Quiz attempts → Firebase Admin: persist attempts
- Quiz attempts → Quiz history and results: review results
- Teachers → Live monitoring: monitor attempts
README.md - Quiz attempts → Anti-cheat tracking: track quiz activity
app/components/create/useAntiCheat.ts - Students → Flashcard features: study and share
README.md - Students → Classmate connections: find classmates
README.md - Classmate connections → Firebase Admin: read and write connections
app/api/connections/route.ts