-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrequirements.txt
More file actions
97 lines (53 loc) · 2.08 KB
/
requirements.txt
File metadata and controls
97 lines (53 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
✅ App Requirements – ISTQB CT-AI Study App
1. 🧠 Quiz Session Features
Start 20-question session (weighted random) prioritizing unseen questions
Start 40-question session (fully random)
Questions are displayed one at a time
Navigation: Next, Back, and Submit buttons
Cannot proceed without selecting at least one answer
Submit button visible only on the last question
Back button hidden on first question
2. ✅ Answer Handling
Support single and multiple correct answers
Track answers per question: selected, correctness
Accept multiple choice if correct_answer is an array
Calculate score only if all correct answers are selected
Save:
userAnswers → selected answer(s)
is_correct → whether the answer(s) are correct
answerCounts → number of times each question is answered
attemptHistory → history of attempted answers
3. 📊 Result Evaluation
Display summary:
✅ Number of correct
❌ Number of incorrect
📊 Score in %
⏱️ Time taken (minutes + seconds)
Show justification for all options (not just correct one)
Style correct answers and justifications in green bold
4. 💾 State Persistence
Use localStorage to:
Store question bank and glossary
Track session state (answered questions, scores)
Automatically load state on page load
Automatically update state on submit
Button to clear all state and restart quiz
5. 📖 Review Mode
Button to Review All Questions
View one question at a time (like quiz mode)
Pre-select and highlight correct answers only
Show full justification for each answer
Disable submission in review mode
6. 📚 Glossary Mode
Button to enter Glossary
Load glossary terms from embedded JSON block
Display term, definition, and example
Search bar to filter terms by name
Glossary is stored in localStorage on first run
7. 📎 Technical Requirements
Works offline via file://
No external server required
All data loaded from embedded <script type="application/json">
Uses Bootstrap 5 for layout/styling
No use of React/JSX — pure JS and HTML
Handles malformed question data (missing answers/justification)