How cynthiaklora/ctrl-study-se works
CTRL+STUDY is a Flask app for authoring, previewing, and practicing template-based questions. The main workflow runs from a browser request through Flask routes, question retrieval and template generation, then renders a quiz or preview; quiz forms collect answers for interactive practice. Admins can manage saved questions and hand-pick test questions, while accounts support authentication and saved quizzes. The graph reflects documented and excerpted calls; several route and persistence details are only partially sampled, so unsupported links are omitted.
Main entry points: ctrl.py Flask routes · QuestionFetch.py Quiz assembly · supabase_client.py Data access · template_builder.py Template editor
Components 11
Web and authoring
- Flask routes
ctrl.py - Template editor
template_builder.py - Web forms
Frontend/forms.py - HTML views
templates
Quiz workflow
- Quiz assembly
Frontend/QuestionFetch.py - Quiz sessions
ctrl.py
Question generation
- Template parser
parser_engine.py - Generation helpers
question_library.py
Persistence and identity
- Data access
supabase_client.py
Other components
- Browser user
- Supabase
Connections 17
- Browser user → Flask routes: requests
README.md - Flask routes → Template editor: routes to
ctrl.py - Flask routes → Quiz assembly: invokes
ctrl.py - Flask routes → Web forms: uses
ctrl.py - Flask routes → Data access: queries
ctrl.py - Flask routes → HTML views: renders
ctrl.py - Template editor → Template parser: generates previews
template_builder.py - Template editor → Data access: loads and saves
template_builder.py - Quiz assembly → Data access: fetches questions
Frontend/QuestionFetch.py - Quiz assembly → Template parser: generates questions
Frontend/QuestionFetch.py - Quiz assembly → Web forms: builds answer forms
Frontend/QuestionFetch.py - Template parser → Generation helpers: dispatches functions
parser_engine.py - Generation helpers → Data access: fetches names
question_library.py - Data access → Supabase: reads and writes
supabase_client.py - Quiz sessions → Quiz assembly: builds quiz questions
ctrl.py - Quiz sessions → Web forms: collects answers
ctrl.py - Quiz sessions → HTML views: renders quiz pages
ctrl.py