* added nodemailer and mjml * added email template * basic email util file * added email queue * email worker * renamed folder * showing which queues and workers were initialized * initializing email on server boot added some test code * renamed to email worker * type fix * renamed queue * added queue to list * added worker to list * logging when config was verified * handling send mail result * not minifying (not supported anymore) using .html property returning correct value * dont send me emails * added port to .env * updated example * updated test email * using env email * parseint base * message * refactor * message * rename * moved email templates * using async file read * typo * using mustache * moved file renamed to email client * logging with prometheus * added social links * line * using stronger types (object instead of array of any[]) moved prometheus logging into email client added function to send mail using a template * fixed templates not working * removed console log * name change * rename * moved templates * rename * string interpolation * string interpolation * moved to dev dependencies, exact versions * moved types * removed function, remove unnecessary if * update template params * updated name * fixed button not clickable * throwing * moved template metadata to one place * rename * sending email on account creation * removed test code removed await * fixed button * not stopping the server if email client validation failed * added metric for queue lengths * exposing getjobcounts * added job to log queue lengths * added endpoint to request verification email * using send verification email that calls api instead of firebase built in * updated route * renamed function * recording time to complete * returning 400 if email already verified * setting transport initialized to true earlier, setting it to false if caught error * moved forgot password flow to a simple popup, added new endpoint to ape * added forgotpasswordemail route * added email tempalte * setting transport to false if caught error * added email queue function * moved try higher * fixed log |
||
---|---|---|
.github | ||
.husky | ||
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 |
I know this is a little late:
IMPORTANT: I will be taking a break from Monkeytype for the duration of December (and potentially a bit of January too). I will address all PRs and issues when I start working on the project again. For critical issues, email jack@monkeytype.com. Thanks.
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.