We wanted to build something simple, yet funny. We think ZyBooks is funny, and during the summer, Alex once wrote a Tampermonkey script to cheat at the 5FastFingers typing test, which we also think is funny. So why not make a typing test based on the ZyBooks exercises we all know and love?
What it does
This typing test presents the player with a short Python script and must figure out and type the script's output, line-by-line, as fast as possible. When all lines are entered, the player sees the time taken and is then given another script. The player is done after typing out 20 script outputs.
The backend also serves as a desktop standalone should the website be unavailable.
How we built it
Alex wrote a C# backend program to randomly generate Python scripts based on code templates, and then run those scripts on a Python interpreter to get the output. This program sends the scripts and their outputs to a server database on Yourui's personal website. The website load a random Exercise and presents it to the player. The player types in their answer and the page presents their time and a sarcastic remark on the differences between humans and computers.
Challenges we ran into
Alex ran into the challenge of programmatically generating and running code. Yourui had no prior experience with half of his tech stack he is using (e.g. Vue.js and CSS)
Accomplishments that we're proud of
We created our first online game and deployed it on a webpage.
What we learned
Alex learned about HTTP requests. Yourui learned about frontend design.
What's next for Typeout: ZyBooks Simulator
We will add more script templates for a greater variety of exercises.