5 letter string, e.g. 'drain'
an array of past guesses each past guess is an array of letter objects [{}, {}, {}, {}, {}] each object represents a letter in the guess word {letter: 'a', color: 'yellow'}
string 'hello'
array of letter objects [{key: 'a', color: 'green'}, {}, {} ...]
an integer 0 - 6
user enters a letter & a square is filled with that letter when a user hits delete it deletes the previous letter when a user hits enter it submits the word if all squares are not filled with letters then the word is not submitted if that word has already been used in a prev guess then the word is not submitted
each letter is checked to see if it matches to the solution each letter is assigned a color based on it's inclusion in the solution
the guess is added to the grid with the correct colors the current guess moves to the next row the keypad letters are updated (colors)
when the guessed word fully matches the solution modal to say 'well done' when the user runs out of guesses modal to say 'try again'