Giter Club home page Giter Club logo

sketchmyword's People

Contributors

blazeblaster avatar thierrysans avatar vecuenca avatar yongzhez avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

sketchmyword's Issues

Move join room dialog to outside of screen

the lobby room view looks kinda empty right now... also i dont think the join room dialog is really necessary.

we can also have an event firing off to load rooms every couple of seconds.

Adjust the size of canvas

We need to have the canvas resize based on the screen size and update the drawing logic accordingly

minor front end issues

  • inputs and tabs have off theme colors
  • input on chat is slightly off center
  • fire off getRooms when we load roomView
  • artists should have paint brush next to their name
  • show message when there are no games in lobby
  • set 10s timer inbetween rounds

Chat

Implement it.

Create rooms

Create room

  • call put api
  • create room in backend in dictionary
  • return room id
  • wait for full_room event from socket

Join room

  • call join api with roomid
  • add to the dictionary in the backend if not full
  • broadcast join_room to all users in the room
  • when enough join, emit full_room

Canvas Page

  • if unauthenticated tries to go to index.html, check serverside if they belong in room
  • if full_room, render canvas page

Dictionary in server
room : { lineHistory: array users: array of size 4 at max }

Ideas to handle persistent room data (i.e. line data and room participants)

  • Redis
  • Store in SQL
  • Maybe memory works

Headers not supported in webkit (Safari)

Not sure if we are supporting Safari but in

3honeys/app/frontend/js/login/loginmodel.js

we make a call to the Headers object, which isn't supported in the latest version of safari, causing the app to crash

Create front end for game

Need to plan out:

  • artist/guesser notifications
  • how word is shown to artist
  • guessed word notif.
  • timers
  • how the word is shown to guessers, and how letters are revealed as the clock counts down
  • list of users and their scores
  • tell users how many points they earned
  • random color for each player
  • baffle.js for words
  • on correct guess, fill it in
  • game over screen
  • use system msgs instead of toasts
  • clear chat on round over
  • color score board

Make sure we recheck connection if fail

Our docker deployment does not have a gurantee of running and setting up the database before the app. We need to retry the sql connection if it fails ( may consider a 10 sec wait and retry or something similar ).

Secure app

Need to implement:

  • HTTPS
  • Validation
  • sanitization
  • Securing of cookies
  • salt, hashing for pws

Add anything I missed.

Room list

should be displayed in join room dialog.
front end mockup already there.
implement it.
consider opening socket for real time room updates, or static API call, or refresh button, or timeout refresh

Refactor code

  • use json instead of send for api errors
  • refactor to a r r o w s y n t a x
  • learn how to actually utilize promises as intended

Player stats

need to:

  • save stats in db
  • modify game logic to keep track of stats per round
  • create frontend
  • create rest api

im thinking of keeping track of these stats:

per player:

  • total games played/won/lost
  • total points earned
  • total number of words guessed correctly
  • avg time for a drawn word to be guessed
  • highest score

globally:

  • total number of games played

@yongzhez

Handle reconnecting

jesus chris

  • on socket disconnect, if room empty, KILL THE ROOM!!!
  • on game over, kill the room
  • other stuff

Create game state flow

This is a tough one..
Need to clearly define all aspects of the game, including joining/leaving/scoring etc

Add spectator mode

In the sidebar there should be a heading displaying other games in progress.
The user should be able to click on these games and view (but not participate in!) them.
They can then click and return to their own game.

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.