Inspiration

We are strong competitive programmers who always question why judges we use are not very intuitive and fast, and don't have simple features that we think every judge should have. So we thought that we could take a crack at making a better judge, to one up our friends who made the judge that we use in computer club currently.

What it does

This judge does many things that a judge should do, along with others. Code can be judged and outputted in multiple languages by retrieving the code from the user's clipboard, providing the user with feedback from the compiler if something is wrong in the code. The teacher (or the leader of the group) gets to choose the questions, and can modify the program to change the time and memory constraints of each problem. Not only that, but the teacher decides which students participate in certain contests, which are given a certain amount of time to complete.

How we built it

The database for all the users was on Firebase (in sync with Google Cloud Platform), and the scripts for the website was developed using HTML, CSS, and PHP. The code was being debugged on my computer (e.g. the GCC of my C++ editor) automatically, and the result was given back after compiling and running.

Challenges we ran into

Our HTML and CSS knowledge was very little, so it was difficult to move quickly on select portions of the website. Not to mention, we have never used Firebase, PHP or JS, so learning them as well as catching every error down to missing a semi-colon did get difficult and even frustrating at times.

Accomplishments that we're proud of

The fact that we had been able to use Username-Password authentication perfectly was a big accomplishment, as we had never done that before. Another accomplishment was getting the compiler working for our first languages because it was very difficult to make sure all the properties were recorded correctly.

What we learned

Becoming comfortable with all of these new languages and ideas of servers and client requests was a lot to learn, especially for our first try. Also, we learned that we should definitely catch some sleep, or else we won't be able to even type.

What's next for The Fiery Hot Challenger

After optimizing this to compile faster on a much larger scale, we plan on expanding this so that previous solutions can be used, and provide an experience with writing the code as if it was an actual editor (e.g. with IntelliSense).

Share this project:

Updates