Table of Contents
Aurora v2
Introduction
To put it simply, Aurora is an online judge system. It is a platform where an admin can host competitive programming contests and users can participate as an individual or in a team of three. Its primary motive was to train students for the ACM ICPC contest. The platform includes features like ranking contestants, penalty, customizable constraints (like code size, allowed languages, and time limit for execution).
I got to work on Aurora in my final year of engineering. The first version of Aurora had a few issues and I felt that a rewrite was required rather than patching the existing issues. I kept core judge as it was, just introduced sockets instead of the polling mechanism it had earlier. And rewrote the web interface from scratch.
Contributions
These changes helped in better scaling and easier maintenance of the system. Leon Chang made a huge contribution that revamped the UI. Nimesh Ghelani and Utkarsh Raj introduced an editorial system which admin can use to easily educate its user about each problem on the platform. I recently did an architecture overhaul and dockerized the platform to make enhance the security and maintainability of the system even further.
Roadmap
Even after these contributions, I feel that now the time has arrived to relook Aurora for a complete rewrite again. Using the latest tech available for both UI and backend. However, this would be a great undertaking and I have not laid out any milestone for this revamp yet. Ping me if you want to provide a helping hand!
developer in India.