Practicing for programming interviews is sometimes stressful, many of us have been at the point where we're grinding out coding questions online nervously in order to get better.
Many of us like programming for fun and are disheartened by the gruelling process. We wanted to bring the fun back into interview preparation process and competitive programming scene - With an online matchmaking game for competitive programming!
What it does
In HackCraft you face off other programmers to be the first to finish an competative programming question. You'll be matched against players of your skill level in order to ensure you both have a fair game against equal competition, and the first to pass all tests wins!
How I built it
The frontend: React, TypeScript and Bootstrap piece together our UI, featuring Microsoft's Monaco text editor for writing code.
The backend: Server side computation is done in Node.js with TypeScript, and our player and matchmaking information is stored in a Redis database.
Challenges I ran into
Deploying our game online so we could play together, and communicating matchmaking between clients
Accomplishments that I'm proud of
Working full stack TypeScript! Passing objects between the frontend/backend was never easier. Getting the service to work across clients was lots of fun too!
What I learned
Typescriptttttttt. We also learned a lot about sanboxing programs and dealing with code execution on a server
What's next for HackCraft
2v2, 3v3, recruiter portals, sponsored competitions and more game modes!