compete - Typing Game, Post 1
Github repository, Next post in the series.
Today I’m committing to working on compete. Compete is an online multiplayer typing game which I intend to work upon. Now that my college require me to submit a project, I’ll work on compete.
This is first in series of posts I’ll write each day having 8 in its date i.e. 8, 18, 28 of the month; updating about the status of work. Initial timeline is 2 months starting from July 28th, 2020 ending on September 28th, 2020 (coincidentally next day of my birthday).
Table of Content
Detailed Checklist
-
Local setup
- Keyboard character recognition
- Error recognition and highlighting
- Points system
- Text from Wikipedia API, random page
- Add variable timers
-
Multiplayer mode
- Room creation using socket.io
- Implement local setup for each user
- Sync Wikipedia article
- Implement start and timer
- Sync timer
- Leaderboard
-
UI/UX redesign
- Homepage
- Match page
- Result page
-
AWS setup
- Offload to EC2 with Elastic Beanstalk
-
Add site to compete.sahilister.tech
-
Add-ons
-
Authentication
- Register
- Login
- Session management
-
Profile
- Matches played
- Matches won
- Matches lost
- Average words/min
-
Thoughts and Learnings
In my 3rd year of my college, we used to play typeracer a lot. We used to host rooms and tell classmates to join. Maybe that was the initial inspiration behind it.
Through the project I want to work on React(for frontend), Node.js (for backend server), Express (Node.js framework), Amazon Elastic Compute Cloud (a virtual computer) which is fun, AWS Elastic Beanstalk (in place of Heroku, for application deployment on EC2), Socket.IO (for bi-directional communication b/w client and server) and maybe p5.js (for visual features).
And above all get compete with friends in typing on my personal domain at compete.sahilister.tech is the main motivation.
Changelog
- Added introduction to project
- Added detailed checklist section
- Added thoughts and learnings section
- Added changelog section