Skip to content

Feature: AI Quiz Generation#5

Merged
pvdev1805 merged 12 commits intodevelopfrom
feature/ai-quiz-generation
Jan 18, 2026
Merged

Feature: AI Quiz Generation#5
pvdev1805 merged 12 commits intodevelopfrom
feature/ai-quiz-generation

Conversation

@TUT888
Copy link
Collaborator

@TUT888 TUT888 commented Jan 15, 2026

Summary

Important Note: This PR aligns with the latest changes in the develop branch of the backend, as introduced in
Backend PR 15

This PR introduces an AI Quiz Generation module, enabling users to generate quizzes from selected notes. It also implements management features for quiz attempts, quizzes, and quiz sets (collections).

Detail Changes

Functionality Updates

Quiz Sets (Collections)

  • View all quiz sets: Fetch the complete list of quiz sets.
    • Recently created collections are visible at the home route (/quizzes).

      Note: This is currently a placeholder and will be finalized once backend pagination is implemented.

    • All collections can be viewed at the dedicated route (/quizzes/collections).
  • Update quiz set: Rename a quiz set (except the DEFAULT set).
  • Delete quiz set: Permanently remove a quiz set along with all related quizzes.

Quizzes & Attempts

  • View all quizzes: Fetch the complete list of quizzes, accessible via the home route (/quizzes) or a specific collection route (/quizzes/collections/{id}).
  • Generate quiz: Create a quiz from a selected note.
  • Update quiz: Move a quiz to another quiz set (each quiz belongs to one set).
  • Delete quiz: Permanently remove a specific quiz.
  • Take quiz attempts: Each quiz supports unlimited attempts for practice.
  • View quiz attempts: Fetch all attempts for a given quiz, with the ability to review results and scores.

Code Changes

Ultilities

  • Services: Added quiz.service.ts and quiz-set.service.ts to centralize API interactions.
  • Types: Added quiz-attempt.ts, quiz-set.type.ts, and quiz.type.ts for data modeling and frontend rendering.
  • Mapper: Introduced attempt-mapper.ts to convert response DTOs into frontend‑friendly models.
  • Hook: Added use-nav.ts for centralized navigation between pages.

UI

  • Replaced the original /quiz endpoint with /quizzes, along with completed child endpoints.
  • Added reusable cards for quiz, quiz set, and attempt functionality, encapsulating logic for reuse.
  • Added reusable modals:
    • collection-selection.tsx for assigning quizzes to collections.
    • delete-confirmation.tsx for confirming permanent deletions

Future Plans and Possible Improvements

This PR lays the foundation for the quiz feature in the frontend. Planned enhancements include:

  • Reviewing quiz content after generation, with options to regenerate or manually edit.
  • Introducing multiple attempt modes: practice (current) and real mode (limited attempts, timed).
  • Linking quizzes back to original notes for context.
  • Generating quizzes from multiple notes.
  • Supporting quiz generation from PDF content (pending backend implementation).

@TUT888 TUT888 requested a review from pvdev1805 January 15, 2026 10:45
Copy link
Owner

@pvdev1805 pvdev1805 left a comment

Choose a reason for hiding this comment

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

✅ QA Review

Tested the changes for AI Quiz Generation and everything looks good:

  • CRUD actions on quiz collections and quizzes are functioning correctly.
  • Quiz attempts can be reviewed appropriately without issues.

@pvdev1805 pvdev1805 merged commit 4993154 into develop Jan 18, 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.

2 participants