- As a user, I want to be able to take a typing test and specify the difficulty, duration, and test content type
- As a user, I want to be able to see a summary of my average WPM, and accuracy after taking a test
- As a user, I want to be able to see the live amount of time left, current WPM and accuracy while I am taking a test
- As a user, I want to be able to restart the exact same test or take a new one
- As a user, I want to be able to input test text content, as a .txt file or directly to the program
- As a user, I want to be able to add a test to my typing test history
- As a user, I want to be able to see my overall average WPM and accuracy for my test history
- As a user, I want to be able to view each of my previous tests
- As a user, I want to be able to have the option to save my test history, before I select the quit option from the application menu
- As a user, I want to be able to have the option to load my test history, when I start the application
- https://github.students.cs.ubc.ca/CPSC210/TellerApp - Followed basic UI code format
- https://stackoverflow.com/questions/18830813/how-can-i-remove-punctuation-from-input-text-in-java - How to remove punctuation from a String
- https://www.w3schools.com/java/java_howto_random_number.asp How to generate a random number
- https://github.students.cs.ubc.ca/CPSC210/JsonSerializationDemo.git - Followed basic persistence code format
- https://www.digitalocean.com/community/tutorials/java-random - How to generate random number using seed
- https://stackoverflow.com/questions/20541230/allow-only-numbers-in-jtextfield - How to only accept numbers in JTextField
- https://stackoverflow.com/questions/7204896/how-to-implement-a-count-down-timer-in-swing - How to run swing timer
- https://en.m.wikipedia.org/wiki/File:Clock.gif - Clock icon
- https://github.students.cs.ubc.ca/CPSC210/AlarmSystem.git - Imported Event and EventLog classes
- You can generate the first required action related to the user story "adding multiple Xs to a Y" by filtering your typing tests by minimum words per minute.
- You can generate the second required action related to the user story "adding multiple Xs to a Y" by filtering your typing tests by minimum accuracy.
- You can locate my visual component by navigating to the "Home" tab and pressing the "Start" button to see the animated clock next to time remaining.
- You can save the state of my application by clicking the "Save" button on the home screen.
- You can reload the state of my application by clicking the "Load" button on the home scren.