* Save speed stats in leaderboard update Saves a histogram data structure of speeds for buckets rounded to the nearest 10. Signed-off-by: Brian Evans <ebrian101@gmail.com> * API endpoint to get public speed stats Signed-off-by: Brian Evans <ebrian101@gmail.com> * Add APE class for public stats (WIP) I created an APE class for accessing public stats. Also stubbed getting and showing the public speed stats on the about page. Haven't implemented the histogram yet though. Signed-off-by: Brian Evans <ebrian101@gmail.com> * Draw histogram for global speed stats On about page Signed-off-by: Brian Evans <ebrian101@gmail.com> * Update histogram colors on theme change Signed-off-by: Brian Evans <ebrian101@gmail.com> * Fixed out-of-order data in speed histogram Data was not sorted correctly, which resulted in an incorrect histogram being drawn. Signed-off-by: Brian Evans <ebrian101@gmail.com> * Public speed stats PR fixes Small fixes based on PR feedback: - changed _req to req - removed unnecessary client version header Signed-off-by: Brian Evans <ebrian101@gmail.com> * Add endpoint for typing stats New endpoint to retrieve the public typing stats such as global count of tests completed. Signed-off-by: Brian Evans <ebrian101@gmail.com> * Renamed public-stats to public Except in cases where it would cause an identifier named `public` as this is forbidden in strict mode. Signed-off-by: Brian Evans <ebrian101@gmail.com> * Add stats section to about page In this commit: - add a section above about called stats - display typing stats in three columns - underneath show the histogram of speeds on english time 60 - make chart responsive Signed-off-by: Brian Evans <ebrian101@gmail.com> * Add unit test for Public DAL Signed-off-by: Brian Evans <ebrian101@gmail.com> * updated styling * only requesting data once per session * going one column on narrow screens * added option to specify number of decimal poitns * just showing million instead of abbreviating updated structure updated styling Signed-off-by: Brian Evans <ebrian101@gmail.com> Co-authored-by: Miodec <jack@monkeytype.com> |
||
---|---|---|
.github | ||
backend | ||
bin | ||
frontend | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.npmrc | ||
.nvmrc | ||
.prettierignore | ||
.prettierrc | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
CONTRIBUTING_ADVANCED.md | ||
CONTRIBUTING_BASIC.md | ||
LANGUAGES.md | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
QUOTES.md | ||
README.md | ||
SECURITY.md | ||
THEMES.md |
About
Monkeytype is a minimalistic and customizable typing test. It features many test modes, an account system to save your typing speed history, and user-configurable features such as themes, sounds, a smooth caret, and more. Monkeytype attempts to emulate the experience of natural typing during a typing test, by unobtrusively presenting the text prompts and displaying typed characters in-place, providing straightforward, real-time feedback on typos, speed, and accuracy.
Features
- minimalistic design, with optional advertisements and focus mode while typing
- type what you see, see what you type
- live errors, wpm, and accuracy displays
- variety of test lengths and languages
- punctuation and numbers modes
- quotes
- themes
- smooth caret
- account system
- challenges and just-for-fun test modifiers
- and much more
Discord bot
On the Monkeytype Discord server, we added a Discord bot to auto-assign optional roles based on typing performance and challenge completion. You can find its code over at https://github.com/monkeytypegame/monkeytype-bot.
Bug report or Feature request
If you encounter a bug or have a feature request, send us an email, create an issue, create a discussion thread, or join the Discord server.
Want to Contribute?
Refer to CONTRIBUTING.md.
Code of Conduct
Before contributing to this repository, please read the code of conduct.
Credits
Montydrei for the name suggestion.
Everyone who provided valuable feedback on the original Reddit post for the prototype of this website.
All of the contributors that have helped with implementing various features, adding themes, fixing bugs, and more.
Support
If you wish to support further development and feel extra awesome, you can donate, become a Patron or buy a t-shirt.