TYPEMASTER

TYPEMASTER

TYPEMASTER IS A COMPETETIVE TYPING PLATFORM WHERE USERS CAN CHECK THEIR WORDS PER MINUTE AND ACCURACY WITH REAL WORLD TEXT AND CHECK HOW WELL THEY HAVE PERFORMED COMPARED TO OTHERS AROUND THE WORLD.

The problem TYPEMASTER solves

TYPEMASTER CHECKS USER'S TYPING ABILITY WITH REAL WORLD SENTENCES UNLIKE SOME RANDOM TEXTS WHICH WE OFTEN SEE ON OTHER TYPING SPEED PROJECTS.
I am a second year Computer Science student who recently started coding but like many others I faced the problem of less WPM while typing so I turned to some of the typing speed projects available online but none of them made me glued to their website and it became boring after two to three tries.
I planned on making a project which showed some real world paragraph to type rather than some random words which most of these website had.
Recently,I started competetive coding and the idea that a users could compare their skill level with millions of others students really hit me and made me glued to these CC Platforms even though I hated DSA
So,I wanted to make a platform where people can compete online with other users and can compare their WPM AND ACCURACY and eventually become better typer.
TYPEMASTER is a project designed to help individuals improve their typing speed and accuracy through competetive environment.
By participating in this project, users can expect to see a significant increase in their typing speed, leading to increased productivity and reduced strain on their wrists. Whether you're a student looking to improve your typing skills for school assignments or a professional looking to enhance your communication efficiency, TYPEMASTER has something to offer for everyone.

Challenges I ran into

Initially I was using react state hook and local storage to store the authenticated(firebase authentication) email,firstName,lastName and later addding the states to firstore collection and it was making the website slower and had a lot of bugs so I decided to pivot to adding a new document in firestore collection as soon as a new user is authenticated using firebase authentication and later update the score(highest WPM AND ACCURACY) of the authenticated user IF it is less than the wpm and accuracy of that in firestore.This made the code a lot more readable and easier to make future changes

Discussion