Skip to content

feat(BE-039): add quiz entity with auto-grading and attempt limits - #894

Merged
MaryammAli merged 2 commits into
BlockDash-Studios:mainfrom
KingDavid9999:fixes-issue-#792
Sep 27, 2026
Merged

MaryammAli merged 2 commits into
BlockDash-Studios:mainfrom
KingDavid9999:fixes-issue-#792

Conversation

@KingDavid9999

Copy link
Copy Markdown
Contributor

Adds a courses module for multiple-choice and fill-in-the-blank
quizzes scoped to lessons.

  • QuizService grades submissions instantly against an answer key
    (exact match for MC, normalized/case-insensitive match against
    accepted answers for fill-in-the-blank)
  • Attempts are persisted per (quiz, user) with per-question results,
    score, and percentage; best score is derived across attempts
  • Enforces per-quiz maxAttempts, rejecting submissions once the
    limit is reached
  • Adds v1/quizzes REST endpoints (create, get, submit attempt,
    get attempt history + best score)
  • Unit tests cover grading, attempt limits, best-score tracking,
    and quiz validation

Closes #792

Adds a courses module for multiple-choice and fill-in-the-blank
quizzes scoped to lessons.

- QuizService grades submissions instantly against an answer key
  (exact match for MC, normalized/case-insensitive match against
  accepted answers for fill-in-the-blank)
- Attempts are persisted per (quiz, user) with per-question results,
  score, and percentage; best score is derived across attempts
- Enforces per-quiz maxAttempts, rejecting submissions once the
  limit is reached
- Adds v1/quizzes REST endpoints (create, get, submit attempt,
  get attempt history + best score)
- Unit tests cover grading, attempt limits, best-score tracking,
  and quiz validation

Closes BlockDash-Studios#792
@drips-wave

drips-wave Bot commented Sep 26, 2026

Copy link
Copy Markdown

@KingDavid9999 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@MaryammAli MaryammAli left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@MaryammAli
MaryammAli merged commit 6f44d3d into BlockDash-Studios:main Sep 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BE-039 — Quizzes: multiple choice & fill-in-the-blank

2 participants