Intermediate project
Quiz App
Build reusable questions, scoring, and review states — a simplified version of this platform's own quiz engine.
The problem
Building your own quiz engine is the best way to deeply understand state machines: idle, in-progress, and reviewed.
User stories
- As a user, I want to answer multiple-choice questions one at a time, so I can focus on each question.
- As a user, I want to see my final score and review my answers, so I can learn from mistakes.
Planning checklist
- Define the question data shape
- Decide the scoring rule and passing threshold
- Plan the three states: in-progress, finished, review
Suggested data structure
const question = { question: "...", options: ["..."], answer: 0 };UI requirements
- One question at a time with selectable options
- A progress indicator
- A results screen with a review of each answer
Build milestones
Check off each milestone as you complete it — saved to this device.
…
0%Testing checklist
- Scoring is correct for an all-correct and an all-wrong run
- The review screen accurately reflects what was answered
Completion criteria
…
0%Progressive support
RequirementsPlanningStarterHintsReference Solution
Bonus features
- Add a timer per question
- Add categories/difficulty selection
- Persist best score across sessions