feat(points): implement robust points and XP calculation system#226
Merged
phertyameen merged 2 commits intoMindBlockLabs:mainfrom Jan 29, 2026
Merged
Conversation
phertyameen
approved these changes
Jan 29, 2026
Member
phertyameen
left a comment
There was a problem hiding this comment.
Genius of you to to convert those id numbers to string.You did the code a favour
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements a comprehensive points and XP calculation system with non-linear level progression, streak bonuses, and daily quest integration.
Changes
Puzzles Module:
Updated base points for puzzle difficulties (Beginner: 10, Intermediate: 25, Advanced: 50, Expert: 100).
Progress Module:
Refactored ProgressCalculationProvider to use the formula:
basePoints * (1 + timeBonusMultiplier) * accuracyMultiplier.Implemented level progression logic with thresholds (L1: 0, L2: 1000, L3: 2500, L4: 5000, L5: 10000+).
Integrated streak bonuses (+10% for 3+ days, +25% for 7+ days).
Added 50 XP bonus for completion of the 10th question in a daily quest.
Fixed UserProgress entity type inconsistencies for
userId,puzzleId, andcategoryIdto matchUUIDformat.Users Module:
Added helper methods
getXpNeededForNextLevel()andgetXpProgressPercentage()toUserentity for front-end consumption.Verification
Build: Successfully ran
npm --workspace backend run build.Lint: Passed
npm --workspace backend run lintwith no errors in modified files.Logic: Verified multiplier logic and level threshold transitions manually against requirements.
Impact
Enables engaging gamification mechanics, rewarding users for consistency, speed, and accuracy.
closes #175