Feature Owner: Krizha Onise T. Cortez
Module: Develop
Priority: P0
Date: July 2026
Executive Summary
What is this feature?
Activity Cards allow creators to build reusable assessments through the Question Hub and embed them into quests using the Form Editor and Visual Canvas. Learners complete these activities during quests and receive graded results based on the configured settings.
Why does it matter?
Reusable activities reduce duplicate work while providing consistent quizzes and assessments across multiple quests.
What's the MVP scope?
Create Question Hub activities
Create question cards
Embed activities into quests
Learner quiz runtime
Automatic grading
Quiz submissions
1. USER PAIN POINT & SOLUTION
Without Activity Cards
Creators had no centralized way to create reusable assessments and had to manually recreate questions across multiple quests.
Pain Point
Emotional
Creating quizzes repeatedly becomes tedious and difficult to maintain.
Functional
Questions cannot easily be reused or updated across quests.
Business Impact
Course creation takes longer and assessment consistency decreases.
Current State
Creators build reusable activities in Question Hub and attach them to quests. Learners complete activities directly inside quests with automatic grading and progress tracking.
2. 4D FRAMEWORK MAPPING
Diagnose
Identify learner understanding through graded assessments and quiz attempts.
Design
Create reusable question sets and configure assessment behavior.
Develop
Manage question content, grading rules, randomization settings, and learner submissions.
Deliver
Present activities inside quests and record learner performance.
3. USER FLOWS
Entry Point
Creator
/creator/question-hub
Question Builder
/activity/[id]
Quest Editor
Form Editor → Activity Card
Learner
Quest Player → Activity Card
Success Criteria
Activity successfully created.
Questions saved.
Activity attached to quest.
Learner completes activity.
Quiz is graded successfully.
Progress updates correctly.
Main Flow
Creator opens Question Hub.
Creates a new activity.
Adds question cards.
Configures activity settings.
Saves the activity.
Selects the activity inside the Form Editor.
Publishes the quest.
Learner opens the quest.
Learner answers questions.
Activity is graded automatically.
Results and learner progress are displayed.
Edge Cases
No Question
Prevent activity from being saved.
Invalid Activity
Display validation errors.
API failure
Display save or load failure.
Quiz retake limit reached
Prevent another submission.
Activity Mode
Display results without storing quiz submissions.
Decision Points
If Question Hub Activity
Reuse stored questions.
else
Use custom questions stored directly in the quest.
4. INFORMATION ARCHITECTURE
Primary Information
Activities
Questions
Activity Settings
Quiz Results
Secondary Information
Timer
Passing Score
Retake Count
Randomization Settings
Tertiary Information
Banner Image
Background Assets
Activity Description
Action
Primary CTA
Save Activity
Submit Activity
Secondary Actions
Add Question
Edit Question
Delete Question
Reorder Questions
Configure Settings
5. WIREFRAMES
Excluded — Feature fully implemented.
6. WIREFLOWS
Excluded — Feature fully implemented.
7. PROTOTYPE
Excluded — Feature fully implemented.
8. BACKEND SCHEMA
Database tables
activities
Stores reusable activity metadata including title, description, activity type, grading configuration, timer, retake settings, and banner assets.
questions
Stores all question cards belonging to an activity including question type, answers, options, image map regions, and settings.
quest_content_cards
Stores Activity Cards embedded inside quests.
activity_submissions
Stores learner quiz submissions, scores, feedback, attempts, and completion status.
quest_enrollments
Stores learner progress updates after completing activities.
asset_metadata
Stores uploaded banner images and other activity assets.
9. API ENDPOINTS
Activity Management
GET
/api/creator/list-activitiesPOST
/api/creator/create-activityGET
/api/creator/get-activityPUT
/api/creator/update-activityDELETE
/api/creator/delete-activity
Question Cards
GET
/api/creator/list-question-cardsPOST
/api/creator/update-questionsPUT
/api/creator/reorder-questions
Quest Integration
GET
/api/creator/quest-content-cards/listPOST
/api/creator/quest-content-cards/createPUT
/api/creator/quest-content-cards/updateDELETE
/api/creator/quest-content-cards/deletePOST
/api/creator/convert-canvas-to-cards
Learner
GET
/api/learner/get-activity-questionsPOST
/api/learner/submit-activity-answersGET
/api/learner/get-activity-submissionGET
/api/learner/get-retake-status
10. DATA REQUIREMENTS
Frontend Needs
Activity ID
Activity metadata
Question list
Question order
Activity settings
Quiz configuration
Learner answers
Submission results
Progress state
API Calls, Frontend Will Make
Load activities.
Load activity questions.
Save activities.
Save question cards.
Reorder questions.
Submit learner answers.
Retrieve learner submissions.
Retrieve retake status.
11. PERFORMANCE CONSIDERATIONS
Database Optimization
Question cards are normalized into separate database tables, allowing activities to be reused without duplicating question content.
Only learner submissions are stored for quiz-mode activities, reducing unnecessary database writes for practice activities.
12. SECURITY & AUTHORIZATION
Who Can Access This Feature?
Creator
Full CRUD access to owned activities.
Reviewer
Read-only access through quest review flows.
Learner
Can only access activities attached to published quests in which they are enrolled.
13. ERROR HANDLING
Current Existing Error Handling
Missing activity IDs return validation errors.
Ownership is verified before updates.
Invalid activity settings are rejected.
Unsupported question configurations are filtered before saving.
Quiz submission validates enrollment and retake limits.
Invalid question data returns descriptive validation errors.
API failures return appropriate error responses without corrupting saved activities.
14. TESTING CHECKLIST
Happy Path
Create activity.
Edit activity.
Delete activity.
Add question cards.
Save questions.
Reorder questions.
Configure quiz settings.
Embed activity into a quest.
Complete learner activity.
Grade learner submission.
Edge Cases
Empty activity.
Invalid question.
Quiz retake exceeded.
Timer expiration.
Activity mode versus Quiz mode.
Failed API requests.
Unauthorized access.
15. OPEN QUESTIONS
Should Reflection become an official Question Hub card type?
Should manual grading for Essay questions be supported?
Should Activity Cards support additional assessment types beyond the current six question types?
Should randomization behavior become configurable per question instead of per activity?
16. OUT OF SCOPE
Real-time collaborative activity editing.
Manual grading workflow.
SCORM/xAPI assessment exports.
Push notifications for completed quizzes.
Advanced analytics beyond current submission tracking.
17. SUCCESS METRICS
Activity creation success rate.
Question save success rate.
Quiz submission success rate.
Learner completion rate.
Average quiz completion time.
API error rate.
Assessment reuse across multiple quests.
18. DEPENDENCIES
This feature depends on
Question Hub
Quest Editor
Form Editor
Visual Canvas
Quest Content Cards
Supabase Storage
Authentication
Learner Quest Player
These features depend on this
Form Editor Activity Card
Visual Canvas Quiz Node
Quest Publishing
Learner Quest Player
Quest Progress Tracking
AI-generated Activity Suggestions
19. TIMELINE & OWNERSHIP
Sprint: Feature implemented and deployed.
Backend: Krizha Onise Cortez
Frontend: Krizha Onise Cortez
Estimated Completion: Feature completed.