Skip to content

Admin Playground

The Playground is a page in Admin for poking at a local Playdex without touching the command line. It only exists when Admin runs with ASPNETCORE_ENVIRONMENT=Development, which the repository’s docker-compose.yml sets by default.

Open it at Admin → Playground (http://localhost:3100/playground or http://admin.playdex.orb.local/playground).

Reset & seed demo data empties every table (the schema and migration history stay) and loads:

Account Password Has
admin@playdex.dev password Admin access, a Telegram channel (chat 67890)
user@playdex.dev password Steam, PSN, Xbox and API integrations; ~2 years of sessions; a live session; a Telegram channel (chat 12345)
second_user@playdex.dev password An empty account. Good for testing first-run screens.

It also adds games (ELDEN RING, Baldur’s Gate 3, Clair Obscur, Marathon…), ratings, an ignored game and a linked pair of games.

Because every account is re-created, you’re signed out afterwards. Sign back in with admin@playdex.dev.

In local development, the API doesn’t talk to the real Steam, PSN or Xbox. It talks to WireMock, which returns canned answers. The Playground buttons change those answers:

Provider Buttons What the fake API reports
Steam Playing / Not playing Warhammer 40,000: Rogue Trader
PlayStation Playing / Offline Skate Story
Xbox Playing / Online, home screen / Offline Thymesia
  1. Seed demo data so user@playdex.dev has integrations.
  2. Click Steam → Playing Rogue Trader.
  3. Within ~10 seconds (the dev poll interval), a live session appears on the Admin Dashboard and in the Web app. A notification is logged as APPRISE_MOCK notify … in the API logs, or sent for real if you configured Telegram.
  4. Click Not playing. The session closes on the next poll.

Every fake integration hits the same scenario, so one click affects all users who have that provider connected.

Pick a user with a Telegram channel and press Send test. The message goes through the local Apprise container.

The seeded chat IDs are fake. To see a real message:

  1. Put your bot token in .env as TELEGRAM_BOT_TOKEN=… and recreate the containers.
  2. In Web → Settings, set your own chat ID for user@playdex.dev.
  3. Send a test from the Playground.

These come preset in docker-compose.yml. Each card shows a hint if its setting is missing.

Setting Compose value
Playground__WiremockBaseUrl http://wiremock:8888
Playground__AppriseBaseUrl http://apprise:8000
Playground__TelegramBotToken ${TELEGRAM_BOT_TOKEN}