A lightweight local-network app so students can pre-register interest in tomorrow's specials before the canteen decides how much to cook.
- Node.js (v14 or later) — https://nodejs.org
# 1. Enter the folder
cd canteen
# 2. Start the server (no npm install needed)
node server.js
The terminal will print two URLs:
Local → http://localhost:3000
Network → http://192.168.x.x:3000 ← share this with students
Share the Network URL with everyone on the same Wi-Fi / LAN.
Students open the Network URL on any device (phone, laptop) and tap "I want this" for items they'd like tomorrow.
Staff click the Staff tab, enter the passcode (canteen), and see
live demand bars for every item. Toggle items on/off, add new items,
and hit Reset counts each morning to start fresh.
| What | How |
|---|---|
| Change the staff passcode | STAFF_CODE=yourcode node server.js |
| Change the port | PORT=8080 node server.js |
| Edit menu items | Open data/db.json in any text editor |
canteen/
├── server.js ← the server (no dependencies)
├── data/
│ └── db.json ← live database (menu + votes)
└── public/
└── index.html ← the web app
All vote data is stored in data/db.json — you can open it anytime
to see or edit the raw data.