Elmeg - The ultimate platform for fandom communities
Find a file
2025-12-19 22:14:10 -08:00
.specify feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
backend fix: use get_or_create for vertical in import script 2025-12-19 22:14:10 -08:00
docs feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
frontend fix: upgrade Node to 20 for Next.js compatibility 2025-12-19 22:05:17 -08:00
.gitignore feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
DEPLOY.md feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00
docker-compose.yml chore: add production docker-compose with Traefik labels 2025-12-19 22:04:46 -08:00
LOCAL_DEV.md 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
VPS_HANDOFF.md feat: Initial elmeg-demo with full-stack fandom archive platform 2025-12-19 22:01:29 -08:00

Elmeg Demo Environment

This is a fully-populated demo instance of Elmeg with Goose data and 12 diverse user personas.

Quick Start

1. Backend (Port 8020)

cd backend
# Create virtual environment if you haven't
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Run server
DATABASE_URL='sqlite:///./elmeg-demo.db' SECRET_KEY='demo-secret' uvicorn main:app --reload --port 8020

2. Frontend (Port 3020)

cd frontend
# Install dependencies if you haven't
npm install

# Run dev server
NEXT_PUBLIC_API_URL=http://localhost:8020 npm run dev -- -p 3020

🧪 Testing

Once running, visit:

User Personas (All passwords: demo123)

1. TheArchivist (archivist@demo.com)

  • Role: User
  • Wiki Mode: ON
  • Behavior: Pure data consumer, no social interaction
  • Use Case: Tests wiki mode functionality

2. StatNerd420 (statnerd@demo.com)

  • Role: User
  • Focus: Attendance tracking, gap charts
  • Activity: Marks attendance at 8 shows
  • Use Case: Power user who loves stats

3. CriticalListener (reviewer@demo.com)

  • Role: User
  • Focus: Detailed reviews
  • Activity: 3 in-depth show reviews
  • Use Case: Content creator, thoughtful analysis

4. CasualFan (casual@demo.com)

  • Role: User
  • Focus: Occasional engagement
  • Activity: 2 comments on performances
  • Use Case: Average user, light participation

5. NortheastHonkers (groupleader@demo.com)

  • Role: User
  • Focus: Community organizing
  • Activity: Created "Northeast Honkers" group, posts
  • Use Case: Group admin, regional organizer

6. ModGoose (mod@demo.com)

  • Role: Moderator
  • Focus: Content moderation
  • Activity: Approved performance nicknames
  • Use Case: Tests moderation dashboard

7. AdminBird (admin@demo.com)

  • Role: Admin (Superuser)
  • Focus: Platform administration
  • Activity: Full access to all features
  • Use Case: Tests admin functionality

8. NewToGoose (newbie@demo.com)

  • Role: User
  • Focus: Just discovering the band
  • Activity: Minimal (new user)
  • Use Case: Onboarding experience

9. TaperTom (taper@demo.com)

  • Role: User
  • Focus: Recording quality
  • Activity: Comments on audio quality for 4 shows
  • Use Case: Niche interest user

10. RoadWarrior (tourfollower@demo.com)

  • Role: User
  • Focus: Tour following
  • Activity: Attended ALL 10 shows
  • Use Case: Super fan, high engagement

11. SilentHonker (lurker@demo.com)

  • Role: User
  • Wiki Mode: ON
  • Behavior: Reads everything, posts nothing
  • Use Case: Passive consumer

12. HypeGoose (hype@demo.com)

  • Role: User
  • Focus: Extreme enthusiasm
  • Activity: Rates everything 10/10, "FIRE 🔥" reviews
  • Use Case: Enthusiastic but low-quality content

Demo Data

  • Vertical: Goose
  • Venues: 5 (Red Rocks, Capitol Theatre, Radio City, The Gorge, Brooklyn Bowl)
  • Tours: 2 (Fall 2023, Summer 2024)
  • Songs: 8 (Hungersite, Arcadia, Hot Tea, Tumble, etc.)
  • Shows: 10 (spanning 2024)
  • Performances: 50 (5 songs per show)
  • Groups: 1 (Northeast Honkers)
  • Reviews: 8 (mix of thoughtful and hype)
  • Comments: 10 (various contexts)
  • Attendance: 18 records (StatNerd + RoadWarrior)
  • Nicknames: 3 approved performance nicknames

Testing Scenarios

Wiki Mode

  • Login as archivist@demo.com or lurker@demo.com
  • Verify no social features visible

Moderation

  • Login as mod@demo.com
  • Navigate to /admin
  • Review nickname queue

Admin Dashboard

  • Login as admin@demo.com
  • Full access to /admin
  • Manage reports, users, content

Group Features

  • Login as groupleader@demo.com
  • View /groups
  • Post in "Northeast Honkers"

Activity Feed

  • View home page
  • See recent reviews, attendance, posts
  • Press Cmd+K
  • Search for "Hungersite" or "Red Rocks"
  • Navigate to performance pages

Performance Pages

  • Click any song in a setlist
  • View gap stats, times played
  • Navigate between versions

Resetting Demo Data

cd /Users/ten/ANTIGRAVITY/elmeg-demo/backend
rm elmeg-demo.db
DATABASE_URL="sqlite:///./elmeg-demo.db" alembic upgrade head
DATABASE_URL="sqlite:///./elmeg-demo.db" python3 quick_seed.py

Notes

  • This demo is completely separate from the main elmeg codebase
  • Uses separate database (elmeg-demo.db)
  • Runs on different ports (8001/3001 vs 8000/3000)
  • Safe to experiment and break things!