{"id":29224709,"url":"https://github.com/gaurang2001/connect-4","last_synced_at":"2025-08-30T18:06:55.890Z","repository":{"id":52550639,"uuid":"345747827","full_name":"gaurang2001/connect-4","owner":"gaurang2001","description":"Connect-4 Real-Time Multiplayer Web Application using Node.js","archived":false,"fork":false,"pushed_at":"2021-04-26T18:41:31.000Z","size":2168,"stargazers_count":1,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-07-14T11:26:32.678Z","etag":null,"topics":["nodejs","oauth2","socket-io"],"latest_commit_sha":null,"homepage":"https://connectfourfriends.herokuapp.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gaurang2001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-08T18:00:47.000Z","updated_at":"2023-07-14T11:26:32.679Z","dependencies_parsed_at":"2022-09-24T13:42:35.271Z","dependency_job_id":null,"html_url":"https://github.com/gaurang2001/connect-4","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/gaurang2001/connect-4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaurang2001%2Fconnect-4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaurang2001%2Fconnect-4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaurang2001%2Fconnect-4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaurang2001%2Fconnect-4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gaurang2001","download_url":"https://codeload.github.com/gaurang2001/connect-4/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaurang2001%2Fconnect-4/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263271499,"owners_count":23440396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nodejs","oauth2","socket-io"],"created_at":"2025-07-03T06:07:34.538Z","updated_at":"2025-07-03T06:07:37.445Z","avatar_url":"https://github.com/gaurang2001.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Connect-4\n\nA real-time multiplayer Connect-4 Game using socket.io and Node.js as backend. Users can register and login normally or using Google OAuth. Logged in users can invite friends to play using link or the room code. A leaderboard is also displayed with the number of wins of each player on the main screen. This was taken up as a course project for the course IT254 - Web Technologies and Applications.\n\nTeam Members - \n* Gaurang Velingkar\n* Jason Krithik Kumar\n* Rakshita Varadarajan\n* Ritvik Mahesh\n\n## Setup\n\nA .env.template file has been included in the root directory so as to provide a template to change it according to your needs. DO NOT USE \" \" around the values while assigning.\n\n### Google\n\n\u003e To deploy this application you need to set up the credentials for Google Oauth\n\nSetup the Oauth credentials by following this [tutorial](https://youtu.be/9x66l93iEW0) or follow the steps given below:\n* First navigate [here](https://console.developers.google.com/apis/credentials).\n* Create a project if not created already.\n* Click on *CREATE CREDENTIALS* button on the top and select *OAuth client ID* in the drop down.\n* Fill in the application type as *Web application*, name.\n* Fill in the *Authorised redirect URIs* as `http://localhost:8080/google/callback` and `http://localhost:8080/google/` and hit save.\n* Fill in the Client ID and Client secret in the keys.js file from the API created. \n\n### Session Key\n\n\u003e This is to setup the cookie and JWT keys for the application\n\nAdd a string in place of the example string present to use it as your cookie key.\n\n### MongoDB URI\n\n\u003e This is to setup the database server\n\nCreate a MongoDB Atlas cluster as shown [here](https://docs.atlas.mongodb.com/tutorial/create-new-cluster/) and add the server link or leave it empty to use a local instance of MongoDB instead\n\n### Port Number (Optional)\n\n\u003e To change it to preferred port number\n\nAdd a new variable called \"PORT\" and assign the value of whichever port number you wish to run your application on.\n\n#### After these changes, make sure to rename the .env.template file to .env\n\n## Technical Specifications\n\n### Version\n- Node.js - 12.18.2\n- MongoDB - 3.6.5\n- Socket.io - 4.0.1\n\n### Setup\n1. Make sure you have Node.js, MongoDB installed on your system, if not, follow these steps: \n\n - To install Node.js \n```\ncurl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -\nsudo apt-get install -y nodejs\n```\n- To install MongoDB, follow steps of the following link\n```\nhttps://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/\n```\n\n2. Download the zip file of this repository, or clone the repository using the git command:\n```\ngit clone https://github.com/gaurang2001/connect-4.git\n```\n\n3. Install packages required \n```\nnpm install\n```\n\n4. Run the server \n```\nnpm start\n```\n\n5. Open http://localhost:8080 on your browser and you’re good to go! :)\n\n## Demo\n\nThe application is also hosted onto this website - [https://connectfourfriends.herokuapp.com](https://connectfourfriends.herokuapp.com)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaurang2001%2Fconnect-4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgaurang2001%2Fconnect-4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaurang2001%2Fconnect-4/lists"}