Files
turbovault-app/docs/DEMO_ACCOUNT.md
2026-03-28 19:24:29 -04:00

5.6 KiB

Demo Account for Development 🎮

Quick Login

Development Demo Account:

Email:    demo@turbovault.com
Password: password123

Visit: http://localhost:3000/login

What's Included

The demo account is automatically created when you run task setup or task db:seed in development mode.

Sample Data

12 Games across multiple platforms:

  • Nintendo 64: Ocarina of Time, Super Mario 64, GoldenEye 007
  • SNES: Super Metroid
  • Nintendo Switch: Breath of the Wild, Hades, Stardew Valley
  • PlayStation 5: Elden Ring, Cyberpunk 2077
  • PlayStation 2: Final Fantasy VII
  • PC: Hollow Knight, Portal 2

4 Collections:

  • Nintendo Games - All Nintendo platform games (root collection)
    • N64 Classics - Best N64 games (subcollection)
  • All-Time Favorites - Top-rated games
  • To Play - Backlog games

Various Data:

  • Different completion statuses (Completed, Playing, Backlog, On Hold)
  • Physical games with conditions (CIB, Loose, Sealed)
  • Digital games with store info (Steam, PlayStation Store, eShop)
  • User ratings (1-5 stars)
  • Storage locations (Shelf A, Shelf B)
  • Purchase prices ($9.99 - $85.00)
  • Notes and descriptions
  • Games organized in multiple collections

When to Use Demo Account

Good For:

  • Quick testing during development
  • Demonstrating features
  • Testing bulk operations (already has games to select)
  • Verifying collection organization
  • Testing filters and search (has varied data)
  • Screenshot/documentation creation

Create Your Own Account For:

  • Testing registration flow
  • Testing empty state UI
  • Testing first-time user experience
  • Building your actual collection

How It Works

First Time Setup

task setup

This runs rails db:seed which creates:

  1. Platforms (31 gaming platforms)
  2. Genres (30 game genres)
  3. Demo user
  4. Demo collections
  5. Sample games

Subsequent Runs

The seed file is smart:

  • Won't duplicate the demo user if it exists
  • Won't duplicate games if demo user has any
  • Safe to run rails db:seed multiple times

Reset Demo Data

If you want to reset the demo account:

# Option 1: Reset entire database
task db:reset
# This drops, creates, migrates, and re-seeds everything

# Option 2: Delete just the demo user
rails console
> User.find_by(email: 'demo@turbovault.com')&.destroy
> exit
rails db:seed

Credentials Shown

The demo credentials are displayed:

  1. In the terminal when you run task dev
  2. On the login page (development only - green box)
  3. After seeding - shows confirmation

Security Note

Development Only:

  • The demo account is ONLY created in development mode
  • Will NOT be created in production
  • Safe to commit seed file to git

Production:

if Rails.env.development?
  # Demo user only created here
end

API Testing

The demo user can also be used for API testing:

# 1. Create an API token via the web UI
# Login as demo@turbovault.com → Settings → API Tokens

# 2. Or create via console
rails console
> user = User.find_by(email: 'demo@turbovault.com')
> token = user.api_tokens.create!(name: "Testing")
> puts token.token

Tips

View All Demo Data

rails console
> demo = User.find_by(email: 'demo@turbovault.com')
> puts "Games: #{demo.games.count}"
> puts "Collections: #{demo.collections.count}"
> demo.games.each { |g| puts "- #{g.title} (#{g.platform.name})" }

Test Bulk Operations

  1. Login as demo user
  2. Go to Games list
  3. Select multiple games (checkboxes appear)
  4. Click "Bulk Edit" button
  5. Update collections, status, location, etc.

Test Filters

The demo data includes games with:

  • Multiple platforms (N64, SNES, Switch, PS5, PS2, PC)
  • Multiple genres (Action, Adventure, RPG, Platformer, etc.)
  • All completion statuses
  • Both physical and digital formats
  • Various ratings

Perfect for testing search and filter functionality!

Troubleshooting

Demo user not created?

# Check environment
rails console
> Rails.env
=> "development"  # Should be development

# Re-run seeds
rails db:seed

Demo user exists but no games?

rails console
> demo = User.find_by(email: 'demo@turbovault.com')
> demo.games.destroy_all  # Clear existing
> exit

rails db:seed  # Re-create sample games

Can't login?

  • Email: demo@turbovault.com (exact spelling)
  • Password: password123 (all lowercase)
  • Make sure database is migrated: rails db:migrate

Want fresh demo data?

task db:reset
# Drops DB, recreates, migrates, seeds everything fresh

Sample Collection Structure

Nintendo Games (5 games)
├─ N64 Classics (3 games)
│  ├─ The Legend of Zelda: Ocarina of Time
│  ├─ Super Mario 64
│  └─ GoldenEye 007
├─ Breath of the Wild
├─ Hades
├─ Stardew Valley
└─ Super Metroid

All-Time Favorites (9 games)
├─ Ocarina of Time
├─ Super Mario 64
├─ Elden Ring
├─ Breath of the Wild
├─ Super Metroid
├─ Hollow Knight
├─ Portal 2
├─ Hades
└─ Stardew Valley

To Play (2 games)
├─ Final Fantasy VII
└─ Cyberpunk 2077

Summary

The demo account gives you a fully populated TurboVault instance instantly:

  • 12 diverse games
  • 4 collections with relationships
  • Realistic data (prices, locations, notes)
  • All completion statuses represented
  • Both physical and digital games
  • Perfect for testing and demos

Just run task dev and login! 🚀