elmeg-demo/backend
fullsizemalt bc804a666b feat: Gamification sprint complete
XP System:
- XP now awarded for attendance (+25), ratings (+10), reviews (+50)
- First-time bonuses for first rating (+25) and first review (+50)
- Streak bonuses (+10 per day, capped at 7x)
- Badge awards automatically grant XP

User Titles & Flair System (Tracker-style):
- Level-based free titles: Rookie → Immortal
- Purchasable titles with XP: Jam Connoisseur, Setlist Savant, etc.
- Username colors purchasable with XP (6 colors + Rainbow)
- Emoji flairs purchasable with XP
- Early adopter perks: exclusive titles, colors, 10% XP bonus

New Fields on User:
- custom_title, title_color, flair
- is_early_adopter, is_supporter
- joined_at

Shop API Endpoints:
- GET /gamification/shop/titles
- POST /gamification/shop/titles/purchase
- GET/POST for colors and flairs
- GET /gamification/user/{id}/display
- GET /gamification/early-adopter-perks

Frontend:
- XP Leaderboard added to home page
- LevelProgressCard shows on profile
2025-12-21 19:21:20 -08:00
..
alembic Add missing migration and finalize deployment config 2025-12-19 22:52:32 -08:00
migrations fix: Fix import path in slug migration 2025-12-21 18:48:02 -08:00
routers feat: Gamification sprint complete 2025-12-21 19:21:20 -08:00
services feat: Gamification sprint complete 2025-12-21 19:21:20 -08:00
tests feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
alembic.ini feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
auth.py feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
comprehensive_import.py fix: Use showdate endpoint for setlist import instead of showid 2025-12-20 22:12:28 -08:00
database.py feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
dependencies.py feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
Dockerfile fix: Use sh to run start.sh (bypass permission issue) 2025-12-21 15:38:36 -08:00
email_service.py refactor: Use SES v2 stored templates in Python email service 2025-12-21 16:55:15 -08:00
fast_import_setlists.py feat: Add container max-width, revamp homepage with real data, add setlist import scripts 2025-12-20 21:16:25 -08:00
fix_tour_dates.py feat(backend): Add script to fix tour dates 2025-12-21 01:06:51 -08:00
fix_tours.py feat: Add footer, static pages, rating dialog, and improve register flow 2025-12-20 02:30:17 -08:00
helpers.py feat(notifications): Added notification system with mention support 2025-12-21 02:36:02 -08:00
import_by_date.py feat: Add container max-width, revamp homepage with real data, add setlist import scripts 2025-12-20 21:16:25 -08:00
import_elgoose.py feat: Add footer, static pages, rating dialog, and improve register flow 2025-12-20 02:30:17 -08:00
import_per_show.py feat: Add container max-width, revamp homepage with real data, add setlist import scripts 2025-12-20 21:16:25 -08:00
import_songs_only.py feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
main.py feat: Add gamification system 2025-12-21 18:58:42 -08:00
migrate_honking.py feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
models.py feat: Gamification sprint complete 2025-12-21 19:21:20 -08:00
populate_links.py fix(backend): Optimize populate_links script 2025-12-21 01:37:32 -08:00
quick_seed.py feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
requirements.txt fix: Add email-validator for pydantic EmailStr 2025-12-21 15:34:57 -08:00
schemas.py feat: Support decimal ratings (e.g., 9.2) 2025-12-21 17:53:56 -08:00
seed.py feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
seed_activity.py feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
seed_demo.py feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
seed_output.txt feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
seed_ratings.py feat: Hide leaderboards, add healthz endpoint and seed script 2025-12-21 03:41:23 -08:00
slugify.py feat: Add slug support for all entities 2025-12-21 18:46:40 -08:00
start.sh fix: Update docker-compose to use start.sh migration runner 2025-12-21 03:49:47 -08:00
test_seed.py feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00