The critical features at large are listed in the Kanban board at this Github Repo. Move at most two major features out at a time on a board.
***Program is completed on time
*Program has appropriate documentation on each file
*******Program has HTML user interface which allows the user:
- to enter in their name.
- to select a type of math problem
- to see a math problem
- to answer the solution to a math problem
- to see whether they got the correct answer
- to see statistics on how many they have gotten correct
*Program uses PHP to create math problems using an array of question templates
*Program uses random values for the question templates
*Program uses functions to determine the correct answer
*Program uses checks user input to correct answer
*Program updates user statistics (percentage correct)
*Program uses a User class
*Program uses a Question class
*Question class contains the range of permissible values to randomly generate
*Program offers some form of user feedback on getting correct answer / doing well
*Program offers user some kind of progression
*Program uses some kind of user persistence (stored in file) server side
*Program offers some kind of session persistence (stored in file) client side
*Program stores questions / users as JSON
*Program emails out session results
*Program does number validation
*Program has extended topics (trig, BEDMAS)
*Magical items of an impressive quality