# BaraBingo 🎮 Chaotic bingo for Barotrauma crews. Mark the madness as it happens. ## Features - **Bingo grid** — mark cells when chaos moments happen in-game - **Sound effects** — each cell plays a unique sound (honk, alarm, explosion...) - **Custom OGG uploads** — add your own sounds per cell - **Emoji picker** — pick the perfect emoji for each bingo cell - **Admin panel** — create campaigns, manage bingo items - **Live updates** — see who marks what in real-time via polling - **Crew activity log** — time-stamped feed of all marks - **Submarine status panel** — hull, reactor, O₂ gauges that degrade with chaos - **Bingo detection** — rows, columns, diagonals, with celebration modal - **Chaos meter** — from "Sub stable" to "SUB DESTROYED" ## Tech - **Next.js 16** (App Router + Turbopack) - **SQLite** via better-sqlite3 + Drizzle ORM - **Tailwind CSS v4** with dark submarine theme - **Web Audio API** for synthesized sound effects - **Radix UI** primitives - **Docker** — multi-stage build, `output: "standalone"` ## Development ```bash npm install npm run dev ``` First user to register automatically gets admin rights. ## Docker ```bash docker build -t barabingo . docker run -d -p 80:3000 -v ./data:/app/data -v ./uploads:/app/public/uploads barabingo ``` ## CI/CD Push to `main`/`master` → Gitea Actions builds image and deploys to `barabingo` (Tailscale). ## License MIT