diff --git a/Projects/Typing-Practice-App.md b/Projects/Typing-Practice-App.md new file mode 100644 index 00000000..74e38141 --- /dev/null +++ b/Projects/Typing-Practice-App.md @@ -0,0 +1,56 @@ +# Typing Practice + +**Tier:** 2-Intermediate + +Some things are so obvious they can be easily overlooked. As a developer +your ability to type quickly and accurately is one factor that influences +your development productivity. The objective of the Typing Practice app is +to provide you with typing practice along with metrics to allow you to +measure your progress. + +Typing practice displays a word which you must then type within a specific +interval of time. If the word is incorrectly typed it stays on +screen and the time interval remains the same. But when the word is correctly +typed a new word is displayed and the time interval is slightly reduced. + +Hopefully, this repetitive practice will help you improve both your typing +speed and accuracy. + +## User Stories + +- [ ] User can see the time interval words must be typed in displayed in +the app window. +- [ ] User can see the number of successful attempts and the number of total +attempts in a score box. +- [ ] User can click a 'Start Practice' button to start the practice session. +- [ ] User can see the prompt word displayed in a text box. +- [ ] User can begin typing the word in a text input box. +- [ ] User can see the letters that have been typed flash if an incorrect +letter is entered and the text input box will be cleared. +- [ ] User can see the a message adjacent to the text input box indicating +the user should try again if an incorrect letter is entered. +- [ ] User can see the number of total attempts incremented in the score box. +- [ ] User can see a congratulations message if the word is correctly typed. +- [ ] User can see the time interval words must be typed decremented by a +small amount if the word is correctly typed. +- [ ] User can see the number of successful attempts incremented in the score +box if the word was correctly typed. +- [ ] User can click a 'Stop Practice' button to stop the practice session. + +## Bonus features + +- [ ] User can hear a unique audible tone signalling when a new word is +displayed, a word is correctly entered, or an incorrect letter is typed in +the word. +- [ ] User can login to the app +- [ ] User can see cumulative performance statistics across all of his/her +practice sessions. + +## Useful links and resources + +[keydown](https://developer.mozilla.org/en-US/docs/Web/Events/keydown) +[setInterval](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval) + +## Example projects + +[Twiddler Typing Tutor](http://twiddler.tekgear.com/tutor/twiddler.html) diff --git a/README.md b/README.md index 837b73bd..8c016d11 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,7 @@ required to complete them. | [String Art](./Projects/String-Art.md) | An animation of moving, colored strings | 2-Intermediate | | [Timezone Slackbot](./Projects/Timezone-Slackbot.md) | Display Team Timezones | 2-Intermediate | | [To-Do App](./Projects/To-Do-App.md) | Manage personal to-do tasks | 2-Intermediate | +| [🌟Typing Practice](./Projects/Typing-Practice-App.md) | Typing Practice | 2-Intermediate | ### Tier-3: Advanced Projects