Skip to content

[FEATURE]: Track Student Progress After Login #128

@master-of-none

Description

@master-of-none

Describe the feature

Implement a student-specific game progress tracking system that records each question answered by the student. The system should capture which game was played, the question's difficulty, whether the answer was correct, and the timestamp. This data will be stored in the database and linked to the logged-in user.

The backend should expose a secure route to store this progress, and the frontend should POST this data after each question is answered. Eventually, this will power a personalized dashboard for students to see their performance history.

Why is this feature important?

This feature enables personalized learning by storing each student's progress and performance across different games and difficulty levels. It allows us to:

  • Analyze student strengths and weaknesses
  • Enable adaptive learning in future versions
  • Build dashboards with visual progress reports
  • Improve accessibility and accountability for educators

It also sets the foundation for gamification, badges, and progress rewards.

Possible implementation

  1. Backend

    • Add a new GameProgress model to schema.prisma
    • Create a POST route /api/progress/save that:
      • Verifies the JWT from cookies
      • Stores: gameName, questionId, difficulty, correct, answeredAt, and userId
    • Add a GET route /api/progress/me to return all progress for the logged-in user
  2. Frontend

    • In each game component, after the student answers a question, send a POST request with progress data
    • Example payload:
      {
        "gameName": "addition",
        "questionId": "Q123",
        "difficulty": "medium",
        "correct": true
      }
  3. Future Step

    • Display a student dashboard showing charts or summaries using this data

Before submitting

  • I have searched for existing feature requests.

Metadata

Metadata

Labels

featureNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions