Skip to content

feat: add quiz workflow system with scoring, deduplication, and reporting - #7

Open
cto-new[bot] wants to merge 1 commit into
mainfrom
feat-quiz-workflow-scoring-attempts-dedup-mcq-tf-matching
Open

cto-new[bot] wants to merge 1 commit into
mainfrom
feat-quiz-workflow-scoring-attempts-dedup-mcq-tf-matching

Conversation

@cto-new

@cto-new cto-new Bot commented Oct 23, 2025

Copy link
Copy Markdown

Summary

This PR introduces a robust quiz and exercise system with complete workflow, automatic scoring, attempt deduplication, and reporting utilities. The implementation supports core e-learning quiz requirements for MCQ, True/False, and Matching question types.

Details

  • Designed and implemented Quiz, MultipleChoice, TrueFalse, Matching models with validation.
  • Developed workflow: start attempt, answer, submit, score, and view summary with pass/fail detection.
  • Introduced resilient JSON-based data storage and deduplication (by attempt ID), ensuring data integrity for analytics.
  • Implemented full reporting (quiz stats, user performance, question analytics).
  • Provided complete unit tests, example usage, .gitignore, and rich Thai documentation.
  • No runtime dependencies outside the Python standard library.

Warning: Task VM test is not passing, cto.new will perform much better if you fix the setup

…uplication, and reporting

This change introduces a full-featured quiz system module supporting
multiple question types (MCQ, True/False, Matching) with workflow for
starting, recording answers, submitting, and scoring attempts. Data is
persisted in JSON files with automatic deduplication. Includes a
reporting engine for statistics at quiz, user, and question level.

- Implements Quiz, MultipleChoice, TrueFalse, Matching question types
- Adds QuizAttempt, AnswerRecord, status tracking, and scoring engine
- Ensures attempt deduplication for integrity/reporting
- Adds reporting utilities for quiz/user stats and analytics
- Includes documentation and example usage

All workflows are covered by standard-library unittests and the system
is extensible for future enhancements.

This branch has not been deployed

No deployments
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.

0 participants