How flynne09/studexa works
Studexa is a Flutter classroom assessment and study-material platform. Teachers manage classes and learning materials, generate and edit grounded Actual and Practice quizzes, publish practice work, and monitor results; students join classes, read materials, take quizzes, and review scores. The README documents the client’s Supabase integrations and the Edge Function security boundary. Flutter sources and database migrations are absent from the supplied tree, so client capabilities and storage are represented from README evidence; function internals are shown only where paths are supported.
Main entry points: quiz_edge.mjs Quiz request handling · submit_quiz_attempt_edge.mjs Attempt submission handling · teacher_gemini_key_edge.mjs Teacher key handling · quiz_generator.mjs Grounded generation
Components 24
Flutter app
- Studexa app
Learning workflow
- Class management
- Study materials
- On-device extraction
- Quiz authoring
- Quiz attempts
- Results review
Supabase backend
- Supabase Auth
- Supabase Postgres
- Private file storage
- Generate quiz endpoint
supabase/functions/generate-quiz/index.ts - Submit attempt endpoint
supabase/functions/submit-quiz-attempt/index.ts - Teacher key endpoint
supabase/functions/teacher-gemini-key/index.ts - Postgres REST access
supabase/functions/_shared/postgres_rest.mjs - Attempt submission handling
supabase/functions/_shared/submit_quiz_attempt_edge.mjs - Identity checks
supabase/functions/_shared/supabase_identity.mjs - Teacher key handling
supabase/functions/_shared/teacher_gemini_key_edge.mjs - Supabase Vault
Quiz generation
- Quiz request handling
supabase/functions/_shared/quiz_edge.mjs - Grounded generation
supabase/functions/_shared/quiz_generator.mjs - Question filtering
supabase/functions/_shared/question_filters.mjs
Other components
- Teacher
- Student
- Google Gemini
Connections 28
- Teacher → Studexa app: uses
- Student → Studexa app: uses
- Studexa app → Supabase Auth: authenticates with
- Studexa app → Supabase Postgres: reads and writes
- Studexa app → Private file storage: uploads and reads
- Studexa app → Class management: manages
- Studexa app → Study materials: manages
- Study materials → On-device extraction: extracts text on device
- Studexa app → Quiz authoring: creates and edits
- Studexa app → Quiz attempts: takes quizzes
- Studexa app → Results review: reviews
- Studexa app → Generate quiz endpoint: requests generation
- Studexa app → Submit attempt endpoint: submits attempt
- Studexa app → Teacher key endpoint: manages teacher key
- Generate quiz endpoint → Quiz request handling: dispatches
- Quiz request handling → Identity checks: checks identity
- Quiz request handling → Postgres REST access: loads quiz context
- Quiz request handling → Grounded generation: generates questions
- Grounded generation → Google Gemini: requests completions
- Quiz request handling → Question filtering: filters questions
- Quiz request handling → Postgres REST access: saves quiz
- Submit attempt endpoint → Attempt submission handling: dispatches
- Attempt submission handling → Identity checks: checks identity
- Attempt submission handling → Postgres REST access: records attempt
- Teacher key endpoint → Teacher key handling: dispatches
- Teacher key handling → Identity checks: checks identity
- Teacher key handling → Supabase Vault: stores teacher key
- Grounded generation → Supabase Vault: uses key backup