{"repo":"ekzhang/setwithfriends","free":true,"listed":false,"github":"https://github.com/ekzhang/setwithfriends","clone":"git clone https://github.com/ekzhang/setwithfriends.git","description":"🎮 A frictionless multiplayer web app that lets you play Set with friends","language":"JavaScript","stars":639,"topics":["firebase","set-game","react","serverless","online-game","multiplayer"],"license":"MIT","category":"databases-storage","readme_excerpt":"Set with Friends This is the source code for Set with Friends, an online, multiplayer implementation of the real-time card game Set. Your goal is to find triplets of cards that follow a certain pattern as quickly as possible. - Web version - Official Discord Technical Details This app was built on a serverless stack primarily using the Firebase Realtime Database, along with Firebase Cloud Functions for more complex or sensitive operations. The frontend was built with React, with components from Material UI. Code for the frontend is written in JavaScript and located in the src/ folder, while serverless functions are written in TypeScript and located in the functions/ folder. The latest development version of the code is on the main branch. We use GitHub Actions to automate our build and deployment process on Netlify, after a new release is created with version number vA.B.C . Contributing This game is currently in maintenance mode, and we'll only accept bug fixes. I would recommend talking to us on Discord (link above) if you really want to see a new feature added. We also have monthly community meetings organized there. To build the site for development: - Install Node 20 and npm 10. - Run npm install -g firebase-tools to globally install the Firebase CLI. - Run npm install in the root folder to get dependencies. - Run npm install in the functions folder. - To start the project, run npm run develop . This runs a script, which is responsible for doing several things concurrent","default_branch":null,"files":null,"tree":[],"storefront":"/r/ekzhang","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ekzhang/setwithfriends/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}