diff --git a/.gitignore b/.gitignore index 513af21..a4e3b96 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,6 @@ target/ *.jks tsconfig.tsbuildinfo instance/ + +server/.data/ +server/.env diff --git a/README.md b/README.md new file mode 100644 index 0000000..268cc0d --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# KITCHEN 484 · Solarpunk Summit + +Festival kitchen site: browse the food schedule, place a free pre-order, +and watch it flip to **READY** the moment the kitchen fires it — with the +stand to pick it up from. + +## What it is + +- `index.html` — customer PWA (schedule, cart, pickup codes, live status) +- `server/server.js` — zero-dependency Node backend: order store, pickup + codes (`K484-XXXX`), SSE live status, static hosting +- `server/staff.html` — staff order board at `/staff` (passcode-gated: + mark orders READY / COLLECTED / CANCELLED, filter by stand) +- `home.html` — K484 association page (separate, untouched) + +Payments were removed (Sep 2026): pre-orders are free reservations; +people pay at the stand. The old BTCPay proxy lives in git history +(commit `601c85f`) if it's ever needed again. + +## Run + +```sh +cd server +cp .env.example .env # set STAFF_PASSCODE (openssl rand -hex 4) +node server.js # http://localhost:8787 +``` + +Orders persist to `server/.data/orders.json` (gitignored). + +## Test + +```sh +cd server && npm run test:e2e # 14 checks: order loop, auth, SSE, restart persistence +``` diff --git a/index.html b/index.html index df173c1..4d6a3bd 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,6 @@ - + +
+