Add ranks, badges, personal records and a reward moment #25
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "gamification"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Requested by Berkay · project thread
Gamification for 1.0, as agreed in the BagDrill Oyunlaştırma doc. The Stitch round didn't match the app's design, so Berkay chose to have the screens built directly in Flutter from the existing components and reviewed from screenshots.
What's in it
/rank): hero, next-rank requirement bars, the ladder with dates reached./badges): category filter, 3-column grid with tier dots, tap for a sheet with each step and when it was earned.Everything is computed from the session history (
lib/domain/achievements.dart), nothing new is stored, so existing history counts from the first launch. Rewards are worked out when a workout ends, comparing history without and with it (the per-round checkpoint of the same session is not double counted).Decisions from Berkay: gong on by default, 30-round cap, thresholds tuned for ~18 rounds/week, rank label on Home. BIG SESSION thresholds are 150/300/500 combos (the doc's 50/100/200 gave gold in a normal 6-round workout).
Screenshots
In project files,
bagdrill/gamification/(home + rank, badges + sheet, summary with rewards and with a new rank, progress). Render again withflutter test tool/screenshots/achievements_shots_test.dart.Tests
test/achievements_test.dart: daily cap, goal weeks vs streaks, multi-condition ranks, badge tiers, hidden badges, long rounds, rewards (gain, badge, record, rank up, no double count).flutter analyzeclean,flutter test131 passed, screenshot tests pass.No APK built, no version bump.
🤖 Generated with Claude Code
https://claude.ai/code/session_015s4aKoJZdE2DV1jJq1MHvp