UX: per-module quizzes
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 1
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 7
Description
Part of the UX backlog. Raised on 2026-06-11.
Per-module quizzes, so a reader can check they absorbed a module rather than only having clicked through it.
Scope
- A question format in the content files or the manifest — needs designing. Markdown is the current source of truth for prose, so quiz data probably belongs in
course-manifest.jsonor a sibling file rather than inline in the prose, to keep##-based section splitting intact (see README). - Rendering at the end of a module in
ModulePlayerClient. - Answers checked client-side. No server, no accounts (see the auth note in the README).
Watch out
lib/progress.ts currently tracks completedSections and a completed flag per module. If quiz results should be remembered, the ProgressStore shape in lib/types.ts changes, and existing readers have older data in localStorage — so reads need to tolerate the old shape.
Out of scope
Grading, certificates, or anything that reports results anywhere.
Done when
At least one module has a working quiz, and progress still loads for someone who used the site before the change.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the README, then inspect ModulePlayerClient, course-manifest.json, lib/progress.ts, and lib/types.ts. Decide where quiz data belongs and how a module renders and checks answers client-side, while preserving loading of older localStorage data. Done means one module has a working quiz and existing progress still loads.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- content, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100