/judgels

Competitive programming platform

Primary LanguageJavaGNU General Public License v2.0GPL-2.0

Judgels

CI Status License

Judgels is a competitive programming platform. With Judgels, you can prepare problems with various types and languages, set up test data, and test solutions. Then, you can run contests with various configurations. Users can be managed with various authorizations: as contestants, supervisors, and managers. Equipped with sandboxed grader as well.

Features

These are non-exhaustive lists.

Problem management

  • multilanguage problem statements
  • batch, interactive, output-only, and functional (like IOI 2010 and above) problem types
  • custom checker (scorer)
  • subtasks with different points
  • version control

Contest management

  • IOI- and ICPC-style contests
  • virtual contests, where contestants can start at different times
  • public contest registration
  • announcements, clarifications, scoreboards

As a platform

  • distributed microservices that can be scaled independently
  • easy deployment using Docker

Docs

See the wiki.

Credit

This work is initiated based on an IOI 2014 paper: Components and Architectural Design of an Autograder System Family, written by Jordan Fernando and Inggriani Liem.

License

GNU GPL version 2.