GithubHelp home page GithubHelp logo

games-cp4's Introduction

A party games web app inspired by jackbox games. This is a new version of the project built with a react front end and a node.js/mongodb back end. See original version of the project here.

Features

  • Games:
    • The Name Game: Everyone secretly enters the name of a person (real or fictional) that others would know. Players then take turns guessing each other's names until only one remains!
    • He Said She Said: Each player answers the same six prompts. Stories are then built randomly using different players' answers for each prompt.
  • Pairing: One person can create a game and invite others to join with a four-letter code
  • Auto-generated nicknames: Players can create their own nicknames or use a randomly generated phrase
  • Suggestions: Each prompt for the games will suggest something if you can't think of what to put

Self Hostable

  • I built this website to be fully self-hostable, with a docker image for front-end and backend, fully customizable with environment variables

Using docker compose:

version: "3"
services:
  app:
    image: ghcr.io/jcubby86/games-app:latest
    ports:
      - "3020:80"
    environment:
      - NGINX_BACKEND_ADDRESS=http://backend:3000
    restart: unless-stopped
    depends_on: 
      - backend
      - db

  backend:
    image: ghcr.io/jcubby86/games-backend:latest
    environment:
      - MONGO_DB_CONN_STR=mongodb://db/games
      - NODE_PORT=3000
    depends_on: 
      - db
    healthcheck:
      test:  wget --spider --tries=1 --no-verbose http://localhost:3000/api/health
      interval: 5s
      retries: 5
      start_period: 5s
      timeout: 10s
    restart: unless-stopped
      
  db:
    image: mongo:latest
    volumes:
    - /data/mongo:/data/db
    restart: unless-stopped
    
  db-seed:
    image: byrnedo/alpine-curl
    command: "-X POST --silent http://backend:3000/api/seed"
    depends_on:
      backend:
        condition: service_healthy
      db:
        condition: service_started

Environment variables for each container can be configured for each service to run on different ports

games-cp4's People

Contributors

jcubby86 avatar dependabot[bot] avatar

Watchers

 avatar

games-cp4's Issues

Add randomly generated suggested nicknames

[food]
  apple
  bisquit
  carrot
  danish
  eclair
  wine

[animal]
  aphid
  cat
  dog
  monkey
  shrimp
  zebra

[object]
  frost
  mug
  clip
  paper
  desk
  pine
  ring
  tree
  oak
  cable

[place] 
  saloon
  bed
  car
  desert
  ocean
  town

[verb]
  stand
  sit
  wash
  push
  read
  grow
  eat
  think
  invent
  join
  goto

[adjective]
  dirty
  clean
  heavy
  soft
  shiny
  blue
  red
  green
  yellow
  purple
  limp
  funky

adj, verb, (object|place|animal|food)
(object|place|animal|food), verb, (object|place|animal|food)
verb, adj, (object|place|animal|food)

Fix error handling

When user joins game, tell them if the code is wrong or the username is taken
on Create game, should only fail on api error

Name game list changes

When playing the name game, after all the names are revealed the list continually reorders itself making it impossible to read

Add archive link for he said she said

Right now if you leave the game, your story is lost forever. I want to add a page where you can view the stories that have been created in the past. Could be fun to let a user view the history of games they've been in, as well as seeing other player's stories, and to make the link shareable

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.