nextcloud / nextcloud/academy

UX: per-module quizzes

Open
#5 0 comments 0 reactions 0 assignees View on GitHub

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.json or 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.