# 🏄 Cabo Bachelor Party Voting App Real-time group voting for the bachelor party — hotels, golf, nightlife, excursions, and full itineraries. ## Quick Start ```bash cd cabo-voting-app npm install node server.js # → http://localhost:3001 ``` ## Features - **Real-time WebSocket voting** — all clients update instantly - **5 categories** — Hotels, Golf, Nightlife, Excursions, Full Itineraries - **Budget planner tab** — quick compare for 8, 10, and 12 guys across Budget, Balanced, and Splurge tracks - **Add suggestions** — anyone can propose new venues - **Admin approval** — pending options require approval before going live - **Responsive** — works on desktop and mobile ## Data Votes are stored in `data/votes.json` (created on first run). Edit directly or use the admin panel. System seed data auto-refreshes researched package options and budget scenarios while preserving existing votes and user-added options. ## Deployment Deployed on `ice:3001` via Node.js directly (not Docker). Routed through Traefik on `ubuntu` via the `cabo-voting.local.tophermayor.com` service route. See [Gitea Issues](https://gitea.tophermayor.com/TopherMayor/cabo-voting-app/issues) for the UI/UX roadmap. ## Tech Stack - Node.js + Express - WebSocket (ws) - Vanilla JS frontend (no framework) - No database — JSON file persistence