What it does

The concept is actually quite simple (unfortunately the implementation ... not as much). Code Challenge is a simple web app that tests the Javascript syntax and basic CS concepts proficiency of users. The users join challenge rooms that they can invite their friends and battle out their l33t hacker skills.

How I built it

The client side user interface is built using standard web technologies (HTML/CSS/JS). I started off by drawing a quick wireframe of the UI and wrote the basic client html/css code first. Then, I incorporated JS into the layout to give my code functionality. I tested the code evaluation, code editor and general UX first before going to work on the server. When working on the server, I decided to use express.js to host a server that would connect the users to the games.

Challenges I ran into

The biggest challenge I had was that I was working alone. This meant that not only did I have to do more work in less time, but I also had to learn and understand every stage of the development process. In addition, I didn't have another pair of eyes to help me look through the code. When working through the server code, I had to individually parse through lines and lines of code and interpreting what would happen live.

Accomplishments that I'm proud of

The first night of the hackathon, I completely powered through the night and finally getting sleep once I got a working prototype. Through my git commits, you can see the variety of emotions I was going through as I managed to work past certain bugs.

What's next for Code Challenge

Hopefully, I'll be able to work through all the small bugs (i think it's just that the server is slow. I'm considering migrating to a different server located somewhere else.) and after that, I'll need to consult some security professionals since it's taking client input and processing it on my server so I need to make sure no one makes a billion api calls and costs me a ton of money and eventually be able to push this as a complete project and stay around to maintain it.

To run the program

Please read the readme file on the github to understand how to use the program.

Share this project: