Admin Dashboard
Philosophy
The admin dashboard is built around a single unified catalog view powered by combinable filters, rather than multiple fixed pages. This avoids view proliferation and ensures all metrics stay context-aware.
Catalog View
The main view is a games catalog displayed as a card grid, visually similar to the player-facing site. Admins can see how the platform “looks” at any time.
Card Display
Each game card shows:
| Element | Detail |
|---|---|
| Game thumbnail | Same visual as frontend |
| Rank | Current rank (if Ranked) |
| Delta | Change over the selected time range (e.g. +15% DAU) |
| State indicators | Visual badges for state (Exploration/Ranked) and platform |
| Tag badges | New, Trendy icons |
Card Hover
On hover, a quick data preview appears:
| Metric | Source |
|---|---|
| DAU | Computed for active filters |
| Playtime | Computed for active filters |
| CTR | Computed for active filters |
| Retention D1 | Computed for active filters |
All hover metrics are context-aware: they respect the currently active filters (category, platform, time range).
Filters
Filters can be freely combined. The catalog updates in real-time as filters change.
Available Filters
| Filter | Options |
|---|---|
| State | Exploration, Ranked |
| Tags | New, Trendy, Updated (future) |
| Surface | Home, Category |
| Category | All categories, or a specific one |
| Platform | Desktop, Mobile |
| Time Range | 24h, 7 days, 30 days, 6 months, All time, Custom (start/end) |
| Search | By game title or author name |
The time range filter affects all displayed metrics and deltas.
Game Admin Page
Clicking a game card opens its dedicated admin page with the following sections.
1. Game Content
Editable metadata:
| Field | Required |
|---|---|
| Title | Yes |
| Description | Yes |
| Categories | Yes |
| Author | Yes |
| Icon source | Yes |
2. Source & Builds
| Element | Detail |
|---|---|
| Iframe source URL | Current live iframe |
| Broker info | Source broker (e.g. GameDistribution) |
| Build list | All builds associated with the game |
| Live build indicator | Which build is currently active |
Multi-build management and playtests are not enabled in MVP but the structure supports them.
3. Visibility & Requirements
Visibility States
| State | Description |
|---|---|
| Draft | Not visible to anyone. Work in progress |
| Hidden | Not visible to players. Accessible to admins |
| Visible | Live on the platform |
A game can only be set to Visible if all minimum requirements are met.
Requirements Checklist
| Requirement | Status |
|---|---|
| Title | Required |
| Description | Required |
| Categories (at least one) | Required |
| Icon | Required |
| Iframe source | Required |
A visual checklist shows completion status for each requirement.
4. Metrics
Full metrics dashboard for the individual game. Filterable by:
- Time range
- Platform
- Surface / category
See Data Model for the complete metric list.
5. Import & Broker Integration
| Action | Description |
|---|---|
| Import from broker | Scrapes available data from the broker, applies category mapping and post-processing |
Used when a game is created empty and then populated from broker data.
6. Actions
| Action | Description |
|---|---|
| Disable game | Removes from all lists without deleting data |
| Delete game | Permanent removal |
Game Creation
Create Empty Game
- Creates a new game in Draft state
- Admin manually fills all required fields
- Game can be set to Visible once the requirements checklist is complete
Bulk Import
- Admin selects a broker source (e.g. GameDistribution catalog)
- System creates games automatically with all available data
- Games start in Draft or Hidden state
- Admin uses bulk actions or individual review to manage them
Bulk Actions
From the catalog view, admins can:
- Select multiple game cards
- Apply batch actions:
- Change visibility (Draft / Hidden / Visible)
- Future: bulk category assignment, bulk disable
Deduplication
Deduplication runs automatically during import and warns on manual creation if a duplicate is detected. See Game Sourcing → Deduplication for the matching rules.
Admin Roles & Permissions
The admin dashboard uses role-based access control with three roles (see Database → Admin Domain):
| Permission | Viewer | Editor | Admin |
|---|---|---|---|
| View catalog and metrics | Yes | Yes | Yes |
| Search and filter games | Yes | Yes | Yes |
| Edit game content (title, description, categories) | No | Yes | Yes |
| Change game visibility (Draft/Hidden/Visible) | No | Yes | Yes |
| Bulk import from broker | No | Yes | Yes |
| Bulk actions (visibility, disable) | No | Yes | Yes |
| Delete games | No | No | Yes |
| Manage admin users (invite, change roles, revoke) | No | No | Yes |
| View audit log | No | Yes | Yes |
Role Assignment
- The first admin is created during setup with the Admin role
- Only Admins can invite new users or change roles
- There must always be at least one Admin
Audit Log
All state-changing admin actions are logged for accountability (see Security → Logging).
| Action | Logged Fields |
|---|---|
| Game created | gameId, admin, timestamp |
| Visibility changed | gameId, from → to, admin, timestamp |
| Game deleted | gameId, gameTitle, admin, timestamp |
| Bulk import | broker, importedCount, admin, timestamp |
| Bulk action | gameIds, action, admin, timestamp |
| Admin user invited/removed | targetEmail, role, admin, timestamp |
| Role changed | targetEmail, from → to, admin, timestamp |
Audit logs are stored in the database and visible to Editors and Admins. They are retained indefinitely.