Introduction

Judgels (Judgment Angels) is an open source, distributed, multi-application software for educative programming events, such as:

  • competitive programming contests,
  • academic programming classes/courses,
  • online judge/problems archive,
  • etc.

It was initiated by Ikatan Alumni Tim Olimpiade Komputer Indonesia (English: Indonesia Computing Olympiad Alumni Association). Judgels is designed to be extensible, adaptable, and modular in the hope that it can be easily modified for any educative programming related purposes in the future.

Judgels is still is being heavily developed and does not have any stable releases yet. However, anyone can view and use the codebase on GitHub at own risks.

Applications

Judgels consists of several applications that work with each other. Each application has a codename after a Greek archangel name.

At the moment, there are five applications in Judgels:

  1. Single Sign-On (Jophiel): authenticating and authorizing users.
  2. Repository Gate (Sandalphon): storing programming problems and materials.
  3. Competition Gate (Uriel): holding programming contests.
  4. Middleware (Sealtiel): providing message queues and transmissions between applications.;
  5. Grader Application (Gabriel): grading programming submissions.

All applications don’t have to be installed in one machine. We can install an application in one machine and the others in other machines. This ensures good scalability.

We are still working on other applications for programming courses and online judges.

License

Judgels is licensed using GNU GPL version 2.

Contributions

Currently, the project is maintained by (in alphabetical order) Ashar Fuadi and Jordan Fernando. Public contributions are welcome. Please consult the Developer’s Guide on how Judgels works in details.