Real-time, mobile-first quiz buzz game with a friendly Egyptian vibe.
- Host creates a game, sets teams, selects categories, and shares a code
- Players join via code, pick team, and buzz in real-time
- First buzz is locked; host adjudicates and assigns points
- Scoreboard after each round; next question flow
- Socket.IO for real-time, React + Tailwind UI, Express server
server/– Node.js + Express + Socket.IO backendclient/– Vite + React + Tailwind frontend
Prereqs: Node 18+
- Install deps
npm install --workspaces- Start dev servers (server on :4000, client on :5173)
npm run dev- Configure client to reach your server if needed
- By default, client connects to
http://<current-hostname>:4000so phones on the same Wi‑Fi can reach the server. - To change, create
client/.envand set:
VITE_SERVER_URL=http://YOUR_HOST:4000- Open the app
- Host: open http://localhost:5173
- Create a game and share the code to your friends
- Players: open http://localhost:5173 and press "ادخل على لعبة"
Mobile tips
- Make sure the phone and the host PC are on the same Wi‑Fi.
- Open the site using your PC IP: e.g. http://192.168.1.X:5173 and join using code.
- The client will try to connect to the server at http://192.168.1.X:4000 automatically.
- If you use a different server host/port, set
VITE_SERVER_URLinclient/.envand restart dev.
npm run build
npm run start # starts server only; serve client with any static host separately- Questions are loaded from
server/questions/questions.json. Add more categories as you like. - In-memory game state (not persisted). For multi-instance, use Redis adapter later.