Typing test allows users to test there typing speed and accuracy. The application provides following features:
- User can create a new test with ability to choose level of difficulty between Easy, Medium, Hard and check based on typing speed.
- Based on the mistakes and typing speed show users there score
- Test lasts for certain amount of time.
- Calculating the score in a way that every word that is correct gets 10 points and misspelling reduces 5 points.
- Create a simple UI which works on all supported browsers
- Create a functional typing experience with ability to stop the clock and calculate the score.
- Handle edge cases.
- Add ability to have difficulty levels for the tests.
- Add ability to have highlighted words and text field below for easy and medium tests.
- Updating any additional asthetics.
- Try to seperate concerns
- Try to increase test coverage
- Follow naming conventions
- Start quick and dirty and work your way to refactored solution
Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.
Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.
Run ng test to execute the unit tests via Karma.
Run ng e2e to execute the end-to-end tests via Protractor.