Play UNO with friends in real time - a full-stack multiplayer game built with Node.js, Socket.io, Tailwind CSS, and PostgreSQL.
- Real-time multiplayer with WebSockets
- Persistent game state with user authentication
- Room creation and player join flow
- Full UNO rules (Skip, Reverse, Draw2, Wild, Draw4)
- Turn logic and move validation
- Responsive UI
- Built-in chat
- Backend: Node.js, Express, Socket.io
- Frontend: EJS templates, Tailwind CSS, Toastify
- Database: PostgreSQL (Supabase on AWS)
- Hosting: Heroku
-
Clone the repo
git clone https://github.com/keyprocedure/real-time-uno.git cd real-time-uno
-
Install dependencies
npm install
-
Create a
.env
file in the root directoryDATABASE_URL=postgres://postgres:<password>@localhost:5432/<database_name> SESSION_SECRET=<secret_value> NODE_ENV=development
-
Set up the database schema
npm run migrate
-
Build and run
npm run build npm start
-
Open http://localhost:8080 and start playing!
- Zuby Afzal — Lead developer, backend, game logic, database, frontend
- Rajesh Panta — UI, lobby design