Skip to content

Welcome to the Save Gudetama typing game! Keep typing as fast as you can to prevent Gudetama from getting squashed by the wall of bricks! Play alone or with a friend.

Notifications You must be signed in to change notification settings

Job-it/Save-Gudetama

 
 

Repository files navigation

Save Gudetama Typing Game

Welcome to the Save Gudetama typing game! The typing game for "adults."

In 'Save Gudetama' users type as fast as they can to save their Gudetama. If they type fast enough you can save your own Gudetama and watch as your opponent's gudetama gets crushed to eggy-goo by a pile of bricks! Challenge your friends, enjoy the 8-bit design and retro-themes /sounds. We really enjoyed building this project, your feedback is welcomed!

Alt Text

In this project we built multiplayer functionality to enhance the gameplay of the 'Save Gudetama' typing game. Players are now able to authenticate with Facebook, create & enter game rooms to chat and play 'Save Gudetama' with their friends.

Features

  • Responsive web design with web and mobile views
  • User Authentication via Facebook
  • Real-time client to client communication
  • Fun gameplay!
  • Lobby, chat, matchmaking

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

  1. Fork the github repo
  2. In the root directory, run the following scripts in node
  • 'npm run react-dev'
  • 'npm run server-dev'
  • 'npm install'
  1. Generate a local SSL certificate (we used this article! --> https://medium.freecodecamp.org/how-to-get-https-working-on-your-local-development-environment-in-5-minutes-7af615770eec)
  2. Setup a developer account on Facebook to facillitate oauth.
  3. Create an oauth application in the Facebook developer console.
  4. Navigate to https://localhost:5000/ on your browser to test and enjoy!

Prerequisites

What things you need to install the software and how to install them

Node (>9.8.0)
Web-browser (Chrome preferred, limited testing on alternative browsers)

Installing

A step by step series of examples that tell you how to get a development env running

Install the required dependencies.

npm install

Run the server using the provided script

npm run server-dev

Run the server using the provided script

npm run react-dev

Create a .env file with the following information --> NOTE: the file should literally be titled '.env'

The information in this file with facillitate configuration for authentication with facebook as well as connecting to the DB instance!

APP_ID = 'insert your data'
APP_SECRET = 'insert your data'
DB_LOCATION = 'insert your data'
DB_USERNAME = 'insert your data'
DB_PASS = 'insert your data'
CALLBACK_URL = 'insert your data'

Deployment

We used heroku to deploy this code!

In order to deploy your own version, you need to:

  1. Set up an SQL database - we used AWS RDS to persist our data
  2. Set up a Facebook oauth application
  3. Configure the .env file
  4. Install Heroku terminal utilities

Built With

  • React - Used to render the client application
  • React Spring - Used to animate certain functionality
  • React Router - Used to generate distinct views at virtual endpoints
  • Express - Framework leveraged to create and run server
  • Passport JS - Authentication framework
  • Passport Facebook - Configuration framework used with passport to authenticate with Facebook.
  • Sockets.io - Used to facillitate realtime communication between client and server.
  • Axios - Used to facillitate HTTP requests from client to server and vice-versa.
  • Emojis-mart - Framework used to get emoji data reliably.
  • React Emoji Picker - Slick emoji selector component integrated into chat.
  • MySQL - Used to configure and query SQL database.

Authors

  • John Cynn - Lobby, chat, matchmaking, authentication, gameplay enhancements - jcynn12
  • Philip Gonzalez - Lobby, chat, matchmaking, authentication, gameplay enhancements - p-gonzo
  • Nick Rogers - Lobby, chat, matchmaking, authentication, gameplay enhancements - rogersanick

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

About

Welcome to the Save Gudetama typing game! Keep typing as fast as you can to prevent Gudetama from getting squashed by the wall of bricks! Play alone or with a friend.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%