You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
app-ideas/Projects/Typing-Practice-App.md

57 lines
2.5 KiB

# 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)