Frontend: https://github.com/Hack-The-North-2024/power-code
Backend: https://github.com/Eurphus/PowerCode-Backend
Unleashing the flames of passion for programming is hard when you're grinding through endless streams of LeetCode questions to prepare for that one software interview. Let's be real, we've all been there. That's exactly why our project, Power Code, aims to make that experience way more fun and dynamic by bringing out the competitive nature in everyone's programming hearts to reignite their love for solving programming problems fast and efficiently.
In Power Code, programmers become gamers. That's right; our web application is a programming game that allows players to matchmake and duel opponents in a 1v1 to see who can solve a coding problem faster. These problems involve a selectable difficulty, providing all types of programmers to come and practice their skills through coding solutions as quick as possible.
Power Code is a web application that utilizes React and Material UI for the frontend hosted on Netlify. Furthermore, we made use of Convex for the backend and implemented the multiplayer functionality using Convex's serverless functions. Additionally, code checks and validation were performed on a fast-api server hosted on heroku.
Building Power Code wasn't always smooth sailing. One of the biggest obstacles we encountered was attempting to figure out how to use Convex to implement the game's multiplayer function. None of us knew frontend too, react is not always fun like the kids tell ya.
First and foremost, we're proud of being able to work on and build a project like Power Code. Having to learn and slowly work out how we were going to integrate Convex was definitely challenge, but a welcome one in that we were able to learn so much and accomplish the task as a result. Next, none of us were good with Frontend, and we are quite proud of how it came out despite how messy are files are and little previous experience we have.
While building Power Code, we learned that integrating new features using new methods like our usage of Convex is a great learning opportunity to help us develop projects later on. Our members learned about TypeScript, FastAPI, Convex, React, etc. Hack the North 2024 is a great place for programmers to gain more experience in developing projects, while giving them the luxury of being provided with an abundance of resources to further their knowledge and use them not only in their Hack the North project, but in the future as well. I also learned how to indulge on snacks
Even though Power Code is a working project, there's still a long way to go for Power Code. The next step for our project is having a leaderboard to keep track of player points to further promote competition as well as implementing a compiler that can run a types of programming languages to be more accessible to programmers. Of course, our database for programming problems will expand and include a larger variety of problems later down the road.
We plan to have full containization to support super fast code running for majority of big languages.