194 lines
4.6 KiB
Markdown
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!
|