Feature Description
Currently, there is a quiz for each course that inculcates all the information within. A user may wish to test their understanding on a specific module of a course. This feature aims to have a short (5 question) quiz after each section which is not mandatory, just a self-check for the reader.
Additionally, the current quiz structure seeds the 10 questions in a pre-set order as visible from the seed script. This feature aims to randomize the question and option ordering to simulate the feeling of a new quiz for a couple of refreshes.
Further, we could also allow for one or both of the following:
- Semester level quiz
- Custom quiz that the user can build from
/quiz by selecting subjects, number of questions etc
Problem It Solves
A user may wish to test their understanding on a specific module of a course. A pre-set order of questions causes quick irritation and frustration to users who have a high curiosity drive.
Proposed Solution
lib/quizData.ts: expand to 20-25 questions per subject, add module metadata
lib/questionSource.ts: add module-level fetching + random selection logic
app/quiz/page.tsx: show both course-end and module-wise quiz options
app/quiz/[slug]/page.tsx: handle ?module=1 query param
QuizClient.tsx: no changes needed (receives questions array as before)
Additional changes include possible changes in the sidebar to indicate the presence (and therefore lack thereof) of quizzes for the module/section of a course.
Additional Context
Other contributors can also focus on the quality of the questions, I'm currently keeping them basic and focusing on retrieving and the setup.
Kindly assign the issue to me for GSSOC'26.
Feature Description
Currently, there is a quiz for each course that inculcates all the information within. A user may wish to test their understanding on a specific module of a course. This feature aims to have a short (5 question) quiz after each section which is not mandatory, just a self-check for the reader.
Additionally, the current quiz structure seeds the 10 questions in a pre-set order as visible from the seed script. This feature aims to randomize the question and option ordering to simulate the feeling of a new quiz for a couple of refreshes.
Further, we could also allow for one or both of the following:
/quizby selecting subjects, number of questions etcProblem It Solves
A user may wish to test their understanding on a specific module of a course. A pre-set order of questions causes quick irritation and frustration to users who have a high curiosity drive.
Proposed Solution
lib/quizData.ts: expand to 20-25 questions per subject, add module metadatalib/questionSource.ts: add module-level fetching + random selection logicapp/quiz/page.tsx: show both course-end and module-wise quiz optionsapp/quiz/[slug]/page.tsx: handle ?module=1 query paramQuizClient.tsx: no changes needed (receives questions array as before)Additional changes include possible changes in the sidebar to indicate the presence (and therefore lack thereof) of quizzes for the module/section of a course.
Additional Context
Other contributors can also focus on the quality of the questions, I'm currently keeping them basic and focusing on retrieving and the setup.
Kindly assign the issue to me for GSSOC'26.