Skip to content

j-quelly/ispellits

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

I-Spell-It

A spin on the classic hangman game, built with React https://ispellits.herokuapp.com/

Current Version

  • Server: 1.0.0
  • Client: 1.1.1

Getting Started

  1. ```$ cd src/server && npm run server````
  2. $ cd src/client && npm start

Changelog

Game Core

  • add more words [12/7/2016]
  • add more words [1/18/2017]

Server

  • express server (using fsr template) [11/3/2016]
    • update to deploy with heroku [11/4/2016]
  • db of some kind (using sqlite) [11/3/2016]
    • update to deploy with heroku [11/4/2016]
      • then change db to mongodb [11/4/2016]
  • make sure server is mostly es6 [11/8/2016]
    • can probably still improve on this [11/11/2016]
  • remove any unused middleware and dependencies [11/8/2016]
    • cookie parser
    • express session
  • lint
    • confirm the best lint configuration
    • confirm best lint tools
      • sublime linter is configured with esintrc
      • npm run lint
  • read express style guide - https://github.com/felixge/node-style-guide
  • confirm error handlers are working [11/11/2016]
  • move server assets to server folder src/server & src/client [11/11/2016]
  • finish js style guide - https://github.com/airbnb/javascript [11/15/2016]
  • comment [11/12/2016]
  • endpoint for creating a player [12/1/2016]
  • endpoint for getting top players [12/2/2016]
  • removed index route [12/7/2016]
  • removed favicon middleware [12/7/2016]
  • updates response codes [1/19/2017]
  • adds test db [1/19/2017]
  • updates Player model, adds 2 new methods and promises [1/19/2017]

Testing

  • read chapters on this [11/30/2016]
  • finish front-end unit testing [1/18/2017]
  • server testing [1/19/2017]
  • platform testing [12/7/2016]
    • mobile [12/5/2016]
    • phablet [12/5/2016]
    • tablet [12/5/2016]
    • browser/desktop [12/7/2016]
      • chrome [12/5/2016]
      • mozilla [12/5/2016]
      • opera [12/5/2016]
      • IE [12/7/2016]
        • 8 FAILED
        • 9
        • 10
        • edge
  • end to end testing?
    • for example testing that the resetGame method works correctly

Aesthetics

  • better buttons [11/29/2016]

Client

  • read - https://github.com/airbnb/javascript/tree/master/react#parentheses [11/22/2016]
  • finish adding propTypes and defaultProps where applicable [11/21/2016]
  • lint js [11/22/2016]
  • lint css [11/23/2016]
  • single responsibility [11/23/2016]
  • clean up and reorganize code [11/23/2016]
  • clean up state object [11/17/2016]
  • comment / document CSS [11/28/2016]
  • add a task runner for version bumping... https://github.com/vojtajina/grunt-bump [11/28/2016]
  • look into improving modal.jsx for more reuse [11/29/2016]
  • input field validation [11/30/2016]
  • display high scores [12/5/2016]
  • make modal text larger on desktop [12/7/2016]
  • make clue font larger on desktop [12/8/2016]
  • make keyboard larger on desktop [12/8/2016]
  • convert font-size to em [12/8/2016]
  • removed header component to improve testability [12/13/2016]
  • rolled back Header.jsx [12/15/2016]
  • update how state is handled to speed up initial render [1/9/2017]
  • no longer mutating objects/arrays [1/9/2017]
  • modify inputForm component to be a controlled component -- https://facebook.github.io/react/docs/forms.html this may make it easier to test [1/13/2017]
  • perhaps put all form logic and state into the formInput component [1/13/2017]
  • improved validation [1/13/2017]
  • try and remove all instances of let [1/15/2017]

Issues

  • if user finishes all words and dies at the same time they beat the game before dying when they should die before ending the game
  • when game ends it shows next word button instead of end screens
  • the game does not display the input of the last letter and just jumps to next word button
  • odometer is not working... [REMOVED]
  • bonus life for every 100 pts is no longer working
  • keyboard component is broken [11/3/2016]
  • issues running api server [11/4/2016]
  • set config vars in heroku [11/7/2016]
  • reads config file [11/7/2016]
  • npm run lint seems to only be linting server.js [11/11/2016]
  • Heroku deployment seems to be broken... [11/18/2016]
  • high score screen is not showing [11/28/2016]
  • submit button hover pushes input down [11/30/2016]
  • issue with server finding favicon REMOVED [11/30/2016]
  • trees are not displaying in dev [12/1/2016]
  • snow not displaying [12/1/2016]
  • fixes URI to API in client.js [12/1/2016]
  • fixes use of client.createPlayer [12/1/2016]
  • IE does not support includes [12/7/2016]
  • modal not disappearing after clicking start button [12/12/2016]
  • fixed version bump task [12/15/2016]
  • need space after lives [12/15/2016]
  • fixed an issue with displaying the wrong clue [1/9/2017]
  • server seems to try and GET before finishing POST --need promise? [1/19/2017]
  • production server is not displaying saved players, may need promise
    • there could be an issue with deprecated use of mpromise? [1/19/2017]
  • fixes issues with players model [1/19/2017]
  • try to speed up the application, the logo loads after the modal [1/25/2017]
  • fixes reset game bug [1/25/2017]

2.x.x

3.x.x

  • react native
    • inline styles?
  • relay - read more on this
    • graphql - read more on this

Hopeful

  • abstract away the input field into it's own component
  • change modal component to higher order component --practice the decorator pattern
  • accessibility? --probably not necessary
  • start easy and progressively get harder or offer different levels of difficulty
  • add in a helper to add a random letter for user at the cost of n points
  • add message when a bonus life is achieved (perfect round)
  • animations
  • remove propTypes on build

About

A spin on the classic hangman game, built with React

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published