This project is a multiplayer UNO game built using the MERN (MongoDB, Express, React, Node.js) stack. UNO is a classic card game where players aim to be the first to empty their hand of cards by matching the card in the discard pile by color, number, or symbol.
- Real-time Multiplayer: Players can join rooms and play against each other in real-time.
- Game Mechanics: Implement UNO game rules such as drawing cards, playing cards, skipping turns, reversing direction, etc.
- Authentication: Allow users to sign up, log in, and save their progress.
- Leaderboard: Track players' scores and display a leaderboard.
- MongoDB: For storing user data, game state, and leaderboard scores.
- Express.js: To build the backend server and RESTful API endpoints.
- React: For building the frontend user interface and interactive game components.
- Node.js: To run the server-side code and manage dependencies.
- Socket.IO: For real-time communication between players in the game rooms.
Additionally, we use jest
for backend tests.