-
Notifications
You must be signed in to change notification settings - Fork 4
[FEATURE]: Track Student Progress After Login #128
Description
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
-
Backend
- Add a new
GameProgressmodel toschema.prisma - Create a POST route
/api/progress/savethat:- Verifies the JWT from cookies
- Stores:
gameName,questionId,difficulty,correct,answeredAt, anduserId
- Add a GET route
/api/progress/meto return all progress for the logged-in user
- Add a new
-
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 }
-
Future Step
- Display a student dashboard showing charts or summaries using this data
Before submitting
- I have searched for existing feature requests.