How dekatche099/accesseltp_sbequiz works
ELTP Quiz Hub is a static browser study platform: learners choose a track and course, then use practice quizzes, timed exams, flashcards, and a separate free-form workbook. The quiz runtime loads and validates course banks, runs study sessions, renders results, and saves progress locally; sign-in enables optional cloud sync. The graph also shows workbook storage/sync and account paths documented by the README. Source excerpts were partial, so uncertain page-level wiring and workbook internals are omitted.
Main entry points: app.js Quiz bootstrap · ui-renderer.js Quiz renderer · storage.js Local progress · firebase-auth.js Firebase identity
Components 21
Quiz learning
- Graduate track
grad-track.html - Retail track
retail-track.html - Course page
course.html - Question banks
courses - Quiz and exam
engine/exam-engine.js - Flashcards
engine/flashcard-engine.js
Practice workbooks
- Workbook space
workbooks.html - Workbook content
workbooks.html
Identity and sync
- Firebase identity
engine/firebase-auth.js - PIN accounts
engine/pin-auth.js - Progress sync
cloud-sync.js - Workbook sync
workbook-sync.js
Shared runtime
- Course loader
engine/loader.js - Quiz bootstrap
engine/app.js - Shared state
engine/state.js - Quiz renderer
engine/ui-renderer.js - Progress analytics
engine/analytics.js - Local progress
engine/storage.js
Other components
- Learner
- Login hub
index.html - Firestore
Connections 36
- Learner → Login hub: opens
- Learner → Graduate track: chooses track
- Learner → Retail track: chooses track
- Graduate track → Course page: opens course
- Retail track → Course page: opens course
- Course page → Quiz bootstrap: imports
- Quiz bootstrap → Course loader: loads course
- Course loader → Question banks: fetches JSON
- Quiz bootstrap → Shared state: initializes
- Quiz bootstrap → Quiz and exam: creates
- Quiz bootstrap → Flashcards: creates
- Quiz bootstrap → Quiz renderer: creates
- Quiz bootstrap → Progress analytics: creates
- Quiz bootstrap → Local progress: creates
- Quiz and exam → Shared state: updates
- Quiz and exam → Local progress: persists
- Flashcards → Shared state: updates
- Flashcards → Local progress: persists
- Quiz renderer → Shared state: renders
- Quiz renderer → Quiz and exam: starts sessions
- Quiz renderer → Flashcards: starts decks
- Quiz renderer → Local progress: reads and clears
- Quiz renderer → Firebase identity: logs out
- Progress analytics → Local progress: reads progress
- Learner → Workbook space: opens
- Workbook space → Workbook content: edits and saves
- Login hub → Firebase identity: account access
- Firebase identity → Firestore: stores profiles
- Firebase identity → Progress sync: auth state
- Progress sync → PIN accounts: checks fallback
- PIN accounts → Firestore: manages PIN accounts
- Progress sync → Local progress: pulls and watches writes
- Progress sync → Firestore: syncs progress
- Workbook space → Workbook sync: syncs workbooks
- Workbook sync → Firestore: reads and writes
- Workbook sync → Firebase identity: uses shared project