/uno-online

Two player online game of UNO. Made using React and Socket.IO

Primary LanguageJavaScriptMIT LicenseMIT

Update: I have run out of Heroku credits and can no longer continue to keep the game deployed. Feel free to clone the repo and run it locally on your machine. Thanks!

UNO ONLINE

Two player online game of UNO

UNO Logo

๐Ÿค” What is UNO?

UNO is the classic and beloved card game thatโ€™s easy to pick up and impossible to put down! Players take turns matching a card in their hand with the current card shown on top of the deck either by color or number. Special action cards deliver game-changing moments as they each perform a function to help you defeat your opponents. These include skips, reverses, draw twos, color-changing wild and draw four wild cards.

โš ๏ธ Game Rules

Read the complete rules of UNO here.

โ“ About the Game

This two-player online version of the game was built with React, Socket.IO, Express and Node. It currently supports two-players in each game. It also has text chat functionality to communicate with your opponent!

How I Made This Game

๐Ÿง How to Play?

  1. Once you're on the homepage of the game, you can either host a new game or join a friend's game.
  2. To host a new game, click on CREATE GAME. A game code will be generated which you can share with your friend.
  3. To join a friend's game, enter the game code given by them, and click on JOIN GAME.
  4. That's it! Enjoy the game and remember, no toxicity!

๐ŸŽฎ Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

๐Ÿ Getting Started (to run game locally)

Follow the steps below, after cloning the repository:

๐Ÿ– Requirements

For Installing:

  • Node

For Running:

  • Change socket.IO endpoint on client side. To do this, go to client/src/components/Game.js and change line #26 from const ENDPOINT = 'https://uno-online-multiplayer.herokuapp.com/' to const ENDPOINT = 'http://localhost:5000'

โณ Installation

  • At the root of the project directory, use npm to install the server-side dependencies
npm install

This command installs all the server-side dependencies needed for the game to run locally.

  • Use npm to run server
npm start

This command gets the server running on localhost port 5000.

  • In a separate terminal, navigate into the client folder and use npm to install the client-side dependencies
cd client
npm install

This command installs all the client-side dependencies needed for the game to run locally.

  • Finally, use npm to run client
npm start

This command gets the client running on localhost port 3000.

Head over to http://localhost:3000/ and enjoy the game! ๐ŸŽ‰

๐Ÿค Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. The Issues tab is a good place to begin!

  1. Fork the project repo
  2. Clone the forked repo on your machine
  3. Create your feature branch (git checkout -b feature/AmazingFeature)
  4. Commit your changes (git commit -m 'Add some AmazingFeature')
  5. Push to the branch on your forked repo (git push origin feature/AmazingFeature)
  6. Open a pull request

โค๏ธ Acknowledgements