Skip to content

Typeracer app built for the Mezorn internship challenge, inspired by Monkeytype. It uses frontend technologies like Next.js and shadcn, Supabase for BaaS.

Notifications You must be signed in to change notification settings

signal451/intern-challenge

Repository files navigation

Internship challenge🌠

alt text

User requirement completion

  • Get paragraph from external service
  • User can play as guest or registered player
  • Typing speed indicator
  • Error indicator
  • User can choose between time limited mode or infinite mode (infinite paragraphs)
  • Save user high-score
  • Show top 10 speedster leaderboard
  • Project should work consistently on different browsers
  • Deploy project using cloud service

🚀 How is the WPM calculated ?

WPM (Words Per Minute) is a calculation of exactly how fast you type with no error penalties.

When calculating typing speed, a "word" is any five characters. For instance, "I love keyboarding, don't you?" would be counted as 6 words (30 characters / 5) and not just 5. This makes sense because typing "deinstitutionalization" obviously should count more than typing "my". Spaces, numbers, letters, and punctuation are all included, but any function keys such as Shift or Backspace are not included.

This makes the number of words easy to calculate. Simply count all typed entries and divide by five to get the number of words typed. To give an example, if you typed 200 characters in 1 minute, your net wpm typing speed would be (200 characters / 5) / 1 min = 40 WPM. If you typed 200 characters in 30 seconds your net speed would be (200/5) / 0.5 = 80 WPM

Reference

This is a Next.js project bootstrapped with create-next-app.

Google OAuth and database managed on Supabase💀

alt text

About

Typeracer app built for the Mezorn internship challenge, inspired by Monkeytype. It uses frontend technologies like Next.js and shadcn, Supabase for BaaS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published