Play the Fishbowl game online! Also known as Salad bowl, Monikers, or Celebrities. It's a free, virtual version of a fun (and mostly hilarious) guessing game, designed for any group of all ages! You'll need at least 4 to play, but it only gets more fun with more players. Hop on a video call, and play through rounds of Taboo, Charades, and Password.
Fishbowl is built with Typescript, React, Apollo GraphQL, Hasura, and Postgres. It's deployed on Render.
- Clone the repo:
git clone git@github.com:avimoondra/fishbowl.git
- Install Brew, and:
brew bundle
- Install Node:
nvm
is used to specify the node version it requires, based on .nvmrc
file.
nvm install
nvm use
- Install Docker
Download and install Docker via Docker for Mac. Further documentation can be found here.
- Install Hasura
Hasura is a GraphQL server that gives you instant, realtime GraphQL APIs over Postgres, with webhook triggers on database events, and remote schemas for business logic.
curl -L https://github.com/hasura/graphql-engine/raw/master/cli/get.sh | bash
Documentation: https://docs.hasura.io/1.0/graphql/manual/index.html
- Install Hasura CLI
See https://docs.hasura.io/1.0/graphql/manual/hasura-cli/install-hasura-cli.html
- Start your servers
(1) Run actions node express server on localhost:3001
cd actions-server
npm install
PORT=3001 npm start
(2) Run front end on localhost:3000
cd app
yarn install --frozen-lockfile
yarn run start
(3) Run Hasura on localhost:8080
cd graphql-server
docker-compose up
hasura migrate apply --admin-secret=myadminsecretkey # for new databases
(4) Open Hasura console on localhost:9695
(to track migrations)
cd graphql-server
hasura console --admin-secret=myadminsecretkey
Open a new pull request or issue! Be sure to check out the Public Trello which defines a loose roadmap, and has many features, bugs, or chores already logged!
If you don't know if a bug is actually an issue or just want to suggest a feature - just create an issue!
If you're already ready to contribute...
- Fork this repo
- Create a branch w/your changes
- Create a pull request by comparing branches across forks
- Start a discussion from there!
If you're not sure about either, feel free to contact me at avimoondra@gmail.com