elmeg-demo/frontend
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
..
__tests__ feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
app feat: Gamification sprint complete 2025-12-21 19:21:20 -08:00
components feat: Add gamification system 2025-12-21 18:58:42 -08:00
contexts feat: add auth pages, update navbar, fix leaderboards venue display, and fix api-config 2025-12-20 00:39:53 -08:00
lib feat: add auth pages, update navbar, fix leaderboards venue display, and fix api-config 2025-12-20 00:39:53 -08:00
public feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
.gitignore feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
components.json feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
Dockerfile fix: upgrade Node to 20 for Next.js compatibility 2025-12-19 22:05:17 -08:00
eslint.config.mjs feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
jest.config.js feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
jest.setup.js feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
next.config.ts feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
package-lock.json feat(ui): Add ScrollArea component and dependency 2025-12-21 02:40:33 -08:00
package.json fix: Multiple fixes 2025-12-21 18:18:35 -08:00
postcss.config.mjs feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
README.md feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
tsconfig.json feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.