elmeg-demo/README.md

194 lines
4.6 KiB
Markdown

# 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)
```bash
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)
```bash
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:
- **Frontend**: <http://localhost:3020>
- **Backend Docs**: <http://localhost:8020/docs>
## 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
### Search
- 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
```bash
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!