How akashp18/ai901-exam-simulator works
AI-901 Ultimate Exam Simulator is a browser-based practice exam backed by a Python standard-library HTTP/API server and SQLite. The main workflow is to start a blueprint-aligned session, answer and autosave varied question types, submit for grading, and review diagnostics; users can also resume sessions and inspect past attempts. The graph reflects the sampled source and README capabilities; some backend endpoint wiring and unsampled implementation details are documented but not independently verified.
Main entry points: server.py HTTP and API server · api.js REST client · main.js App initialization · database.py Schema and seeding
Components 16
Browser exam app
- Simulator page
index.html - App initialization
js/main.js - Session state
js/state.js - REST client
js/api.js - Exam interaction
js/ui.js - Exam timer
js/timer.js - Report display
js/report.js - Review and resume
js/core.js
Exam service
- HTTP and API server
server.py - Schema and seeding
database.py - Exam database
Question content
- Question bank
data/questions.json - Exam blueprint
data/blueprint.json
Scoring and analytics
- Grading and diagnostics
grader.py - Analytics report
js/report.js
Other components
- Learner
Connections 22
- Learner → Simulator page: uses
- Simulator page → App initialization: loads
- App initialization → REST client: requests stats
- App initialization → REST client: loads history
- App initialization → Review and resume: restores session
- REST client → HTTP and API server: calls API
- HTTP and API server → Simulator page: serves files
- Learner → Exam interaction: answers questions
- Exam interaction → Session state: updates
- Exam interaction → REST client: autosaves answers
- Exam timer → Session state: tracks time
- REST client → HTTP and API server: starts session
- HTTP and API server → Exam database: reads and writes
- HTTP and API server → Grading and diagnostics: requests grading
- Grading and diagnostics → HTTP and API server: returns diagnostics
- HTTP and API server → Report display: returns report
- Report display → Learner: presents results
- Schema and seeding → Exam database: creates schema
- Schema and seeding → Question bank: seeds questions
- Schema and seeding → Exam blueprint: uses blueprint
- Review and resume → REST client: loads past report
- Report display → Review and resume: exports study guide