Raffle app for live events with:
/)/odds)/admin?key=...) for draw/reset/admin/manage?key=...) for prize CRUD and submission reviewN tickets where N = number of prizes- / + controlsdeno run -A --watch main.http.ts
Open:
http://localhost:8000/http://localhost:8000/oddshttp://localhost:8000/admin?key=<ADMIN_KEY>http://localhost:8000/admin/manage?key=<ADMIN_KEY>Set admin auth key:
export ADMIN_KEY="replace-with-your-own-secret"
In Val Town, add ADMIN_KEY in Environment Variables.
GET /: raffle entry UIGET /odds: public live odds boardPOST /api/entries: create entryGET /api/odds: anonymous odds + winner state JSONAdmin-protected (?key=... required):
GET /admin: draw + redraw + reset + submissionsGET /admin/manage: prize management + detailed submissionsGET /api/admin/state: admin snapshotPOST /api/admin/draw: draw winner for one prizePOST /api/admin/redraw: redraw winner for one prizePOST /api/admin/reset: clear entries + winnersPOST /api/admin/prizes: add prizePATCH /api/admin/prizes/:prizeId: rename prizeDELETE /api/admin/prizes/:prizeId: remove prizeCurrent canonical keys:
devfest26_raffle_prizesdevfest26_raffle_entriesdevfest26_raffle_winners/admin/manage?key=.../ for entries and /odds on screen/admin?key=...Redraw for that prizeReset only for test cycles