Description
Implement a badge-based achievement system with observation streaks, milestone badges, personal stats, and toast notifications to drive sustained community engagement during pilot deployments.
Implementation Tasks
Acceptance Criteria
Dependencies
- Coordinate v3 migration with Full Authentication issue (3.2.7) to avoid conflicting schema versions
- Species Database (2.1) — for species-related badges (Endemic Spotter, 10 Species)
- SyncEngine (1.4, ✅ complete) — for Multi-Layer badge (enrichment source count)
Relevant Files
src/services/AchievementService.ts (new)
src/components/gamification/AchievementsPanel.tsx (new)
src/components/gamification/StreakBadge.tsx (new)
src/components/Header.tsx — StreakBadge placement
src/db/database.ts — v3 migration
src/App.tsx — achievement check wiring
Description
Implement a badge-based achievement system with observation streaks, milestone badges, personal stats, and toast notifications to drive sustained community engagement during pilot deployments.
Implementation Tasks
AchievementService.ts— define badge registry, check unlock conditions, persist achievements (src/services/AchievementService.ts)(
src/services/AchievementService.ts)AchievementsPanel.tsx— badge grid (earned vs locked), streak counter, personal stats dashboard (src/components/gamification/AchievementsPanel.tsx)StreakBadge.tsx— compact badge in Header showing active observation streak count (src/components/gamification/StreakBadge.tsx)src/App.tsx)achievementstable to Dexie schema (v3 migration) (src/db/database.ts)Acceptance Criteria
achievementstableDependencies
Relevant Files
src/services/AchievementService.ts(new)src/components/gamification/AchievementsPanel.tsx(new)src/components/gamification/StreakBadge.tsx(new)src/components/Header.tsx— StreakBadge placementsrc/db/database.ts— v3 migrationsrc/App.tsx— achievement check wiring