What: Add an achievement system that tracks milestones (first course, perfect score, speed learner).
Why: Gamification drives engagement. Achievements motivate continued learning.
Scope: Add Achievement struct with type, earned_at. Add earn_achievement internal function. Add get_achievements(learner) query function.
Acceptance criteria:
- Achievements are tracked
- Achievements are queryable
- Achievements emit events
- Achievement types are extensible
Technical context: contracts/progress-tracker/src/lib.rs — progress functions.
What: Add an achievement system that tracks milestones (first course, perfect score, speed learner).
Why: Gamification drives engagement. Achievements motivate continued learning.
Scope: Add
Achievementstruct with type, earned_at. Addearn_achievementinternal function. Addget_achievements(learner)query function.Acceptance criteria:
Technical context:
contracts/progress-tracker/src/lib.rs— progress functions.