Skip to content

Widescreen Kiosk mode #196

@lkocman

Description

@lkocman

🚀 Feature Request: Widescreen Kiosk / Booth Display Mode (with Local Config, Reset & Bingo Links)

Summary

Add a “Kiosk” or “Booth Display” mode to quiz.opensuse.org — a fullscreen, widescreen-optimized layout for use at openSUSE booths during events.

This mode should combine the existing /stats functionality with a visually appealing public dashboard that shows:

  • the live leaderboard (top participants and scores),
  • a large QR code for visitors to join the quiz,
  • and a locally configurable message and prize draw time.

It should also provide booth staff with quick access to:

  • a reset link (secured with a token prompt), and
  • a link to /bingo for random winner selection during prize draws.

🎯 Purpose

  • Provide an attractive, widescreen display at openSUSE booths.
  • Encourage visitors to scan the QR code and participate.
  • Allow booth crew to configure local details (like “Win a Raspberry Pi 5!” and prize draw time) without backend or URL parameters.
  • Give staff convenient access to operational tools (/reset, /bingo) during the event.

🧩 Suggested URL

https://quiz.opensuse.org/booth
(or /kiosk)

Each event runs as its own instance, so no query parameters are needed — configuration is stored locally in the browser.


🧱 Suggested Layout (Widescreen Mockup)

┌───────────────────────────────────────────────────────────────────────────────┐
│ 🦎  openSUSE Quiz Live @ [Event Name]                    ⏰ Prize Draw: 15:30  │
│───────────────────────────────────────────────────────────────────────────────│
│                                                                               │
│  🏆 Leaderboard (Top 10)                               [   QR CODE AREA   ]   │
│  ┌──────────────────────────────┐                     ┌───────────────────┐   │
│  │ #  Nickname        Score     │                     │                   │   │
│  │ 1  geeko_guru      250       │                     │  [  QR CODE  ]    │   │
│  │ 2  linuxlover42    240       │                     │  Scan to play!    │   │
│  │ 3  opensuser       225       │                     │  quiz.opensuse.org│   │
│  │ 4  ...             ...       │                     │                   │   │
│  └──────────────────────────────┘                     └───────────────────┘   │
│                                                                               │
│             🎁 “Win a Raspberry Pi 5!” | 💚 “Play now & join the fun!”         │
│                                                                               │
│     [⚙️ Settings]      [🔁 Reset Quiz]      [🎲 Open Bingo / Pick Winner]     │
└───────────────────────────────────────────────────────────────────────────────┘

Layout overview:

  • Left: real-time leaderboard (auto-updating from /stats)
  • Right: large scannable QR code and join message
  • Top: event name and prize draw time
  • Bottom: local message, plus small admin controls for booth crew

⚙️ Implementation Details

  • Endpoint: /booth or /kiosk

  • Data source: reuse existing /stats JSON or WebSocket feed

  • Auto-refresh: every 15–30 seconds

  • Local Configuration (via Cookie):

    • Booth crew sets:

      • Prize Draw Time (e.g., 15:30)
      • Custom Message (e.g., “Win a Raspberry Pi 5!”)
    • Stored locally in the browser’s cookie or localStorage.

    • Configurable via a small ⚙️ Settings panel (bottom corner).

    • Values persist across reloads until /reset is triggered.

  • Reset Functionality:

    • Add a [🔁 Reset Quiz] link/button.
    • When clicked, it asks for a reset token before executing /reset.
    • Useful for daily resets or end-of-day cleanups.
  • Bingo Integration:

    • Add a [🎲 Open Bingo / Pick Winner] link/button.
    • Opens /bingo in a new tab for random winner selection from participants.

🧠 Example Booth Flow

  1. Booth crew launches https://quiz.opensuse.org/booth.
  2. Opens ⚙️ Settings → sets “Prize Draw: 15:30” and “Win a Raspberry Pi 5!”.
  3. Visitors see live leaderboard, QR code, and event message.
  4. At draw time, crew clicks 🎲 “Open Bingo” to pick a winner.
  5. At the end of the day, crew clicks 🔁 “Reset Quiz,” enters token, and clears data for the next day.

✅ Benefits

  • Creates a professional and dynamic booth display.
  • Requires no extra backend work — just uses /stats, /bingo, and /reset.
  • Easily configurable on-site by booth staff.
  • Keeps widescreen layout engaging and informative for visitors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions