Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dispatch Rush · Arena 🏆

A live, multiplayer-flavored spin-off of Dispatch Rush for a gathering. It adds three things on top of the original game (which is left completely untouched):

  1. Name gate — players type their name before they can start dispatching.
  2. "Playing now" — a live list of who's currently on the board.
  3. Hall of Fame — a shared leaderboard of top scores.

It's a static site (HTML/CSS/JS) — deploy it to GitHub Pages like the main game. The tiny bit of shared state (leaderboard + live presence) runs on a free Supabase project.


Runs immediately (Local mode)

Open index.html and it just works. With no backend configured it runs in Local mode: the leaderboard and presence are stored in your browser only (great for a quick look, but not shared across devices).

To make it a real shared board for your gathering, do the 2-minute setup below.


Go live in ~2 minutes (Supabase — free, no credit card)

Supabase's free tier needs no credit card, so it can never bill you — at the limit it simply pauses instead of charging. Perfect for a temporary event.

  1. Create a project

    • Go to https://supabase.com → sign in with GitHub → New project.
    • Pick any name/region, set a database password (you won't need it), create.
  2. Create the table + rules

  3. Copy your keys

    • Project Settings → API.
    • Copy the Project URL and the anon public key.
  4. Paste them into config.js

    window.ARENA_CONFIG = {
      SUPABASE_URL: "https://YOURPROJECT.supabase.co",
      SUPABASE_ANON_KEY: "eyJ...your anon key...",
      EVENT_NAME: "Dispatch Rush · Arena",
      EVENT_CODE: "",            // optional: a word players must type to post a score
      LEADERBOARD_SIZE: 25,
    };
  5. Deploy (see below) and share the link. Done.

The anon key is meant to be public — it's safe in client-side code. What protects your data is Row-Level Security (already set up by the SQL): visitors can only read scores and insert their own; they can't edit, delete, or write out-of-range junk.


Deploy to GitHub Pages

This folder is self-contained. Push these files to the repo root of a GitHub Pages site:

index.html          hall-of-fame.html
arena.js            config.js
supabase-setup.sql  .nojekyll

Then Settings → Pages → Source: main / root. Your site is at https://<user-or-org>.github.io/<repo>/.


Keeping it safe & cheap (it's public)

  • No credit card on the free tier ⇒ $0 guaranteed; it pauses, never bills.
  • RLS blocks edits/deletes and re-validates every insert server-side.
  • Names are length-capped (24) and stripped of control characters.
  • Optional EVENT_CODE adds a soft gate so only your crowd can post scores.
  • Nothing here is used for hiring — it's just for fun at the gathering.

Files

File Purpose
index.html The game + name gate + live presence + score submit
hall-of-fame.html Live "playing now" list + leaderboard
arena.js Shared backend helpers (Supabase with local fallback)
config.js Your Supabase URL + anon key + branding
supabase-setup.sql One-time table + security setup

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages