A real-time multiplayer poker game built with the MERN stack.
Players can create public or private rooms, join matches, play poker in real-time using WebSockets, and track match history.
Deploy: https://poker-frontend-znxb.onrender.com
Video Demo: https://www.facebook.com/reel/889751763401124
- Handling real-time synchronization between multiple players
- Preventing invalid game actions from the client
- Managing game state securely on the server
- Optimizing Socket.io event handling
- 🔐 JWT Authentication (Register / Login)
- 🏠 Create public or private game rooms
- 👥 Join and manage poker rooms
♠️ Real-time multiplayer gameplay using Socket.io- 🧠 Server-side poker logic validation
- 📜 Match history tracking (stored in MongoDB)
- 💬 In-room comments / chat
- React
- Zustand
- Tailwind CSS
- Axios
- Node.js
- Express
- MongoDB
- Mongoose
- JWT (authentication)
- Socket.io ( Real-time )
- Arcjet (Rate limiting & bot protection)
- Postman
- REST API handles authentication and room management
- Socket.io handles real-time gameplay communication
- MongoDB stores users, rooms, and match history
- Frontend state managed with Zustand
git clone https://github.com/KalnaiWin/poker.git
Backend: cd backend npm install
Frontend: cd frontend npm install
Create a .env file in /backend:
PORT=3000
MONGO_URI=your_mongodb_url
JWT_SECRET=your_secret
ARCJECT_SECRET=...
Backend + Frontend: npm run dev
📸 Screenshots
NHBP GitHub: https://github.com/KalnaiWin