What inspired us to make this project was our lack of skill for typing, and our will to improve it. Furthermore, developing such an application seemed realistic and within our grasp since we are not very experienced coders for the most part. Our main goal was to create an app that would allow us to learn about web development as we went.
Our program is a typing test calculator which generates a random string of words which the user then has to write into a text field, evaluating the input each time a new character is added. Real time statistics are also displayed as the user types, such as the error count and the amount of words per second and minute. Once the user is finished, the time it took to type the input is displayed, and the user gets the option to submit their time along with their name. The user then can access the leaderboard, on which they proudly be able to lay eyes upon their glorified success.
Server-side, the app runs on the Flask framework for python. Any requests to databases are also done in a python script. As for the front end of our application, it was done in HTML, CSS, and JavaScript. We also needed to use a little bit of jQuery in order to be able to send post and get requests to our server. Finally, once the project was properly setup, we used PythonAnywhere to deploy our website for the eyes of the rest of the world.
As previously mentioned, we are not experienced programmers, and this was the major cause in most of our issues. We were not aware of all the tools that were at our disposal. The main issue we had was using jQuery to send requests to the database, since none of us had done it before. Other issues lied in the fact that some of us had little to no experience with JavaScript. Furthermore, our lousy typing made for some unexpected syntax errors.
As we have never done anything of the sort, all of this was an accomplishment. Running the site for the whole world to see, deployed, is our main source of pride as we will be able to share the site with all our friends and have some healthy friendly competition with each other.
We learned how to deploy a website using PythonAnywhere, and maintain it. We learned how to use jQuery to send post and get requests, some of us learned how to use JavaScript, some of us learned how to use python, but we all learned how to work better as a team, and got a taste of the life of software developers.
We might continue finding ways to prevent cheating, as of now there is nothing that keeps the user from sending their own post requests with custom times. There are also additional functions we may add such as multiple language support and a on-screen keyboard.
Log in or sign up for Devpost to join the conversation.