Made by (and used by) Homestead High School's Programming Club.
- Multiple test cases and subtasks!
- Variety of scoring methods (all-or-nothing, partials, stop-on-wrong, etc.)
- Support for custom checkers written in all 3 languages shown below
- Supports submissions in C++, Java, and Python 3
- Secure code compilation and execution using isolate
- Extremely simple setup
- Bonus test cases! (less discouraging form of subtasks)
- Easy-to-use submission API
- Easy problem creation
- Simple administrative web interface
- Supports interactive problems (WIP)
Subtasks! And lots of test cases...
Easy setup instructions for Linux and Windows are on this wiki page.
The web server listens on port 80. You'll be greeted by a nice admin interface.
Andddd that's it! Go get that AC! :)
(Note: This is a personal project, so it's probably best to find another judge if you're trying to host a contest / create a big website. JudgeLite is ideal for smaller use cases, like programming clubs and small practice sites.)
JudgeLite is designed to be used for competitive programming problems, although anything requiring automatic testing of source code will work.
There is an API Reference page on JudgeLite, where all the allowed API calls are showcased with examples. You can use the reference as an example on how to use the API. A more detailed Wiki page explaining the subtleties of the submission API can be found here.
In order to use JudgeLite, you'll need to first create some problems to submit to! Luckily, the file structure for creating problems is pretty easy to follow (uses YAML and Markdown). Take a look at the sample problem structure in the sample_problem_info directory for an example set of problems. A more detailed Wiki page about problem creation can be found here.
We welcome contributions of all kinds, whether they're bug reports, feature requests, or pull requests! See the contributing guidelines for more details. If you'd like to get your hands dirty, try tackling one of the open issues.
JudgeLite is distributed under the MIT License. This means that you are free to customize anything you want, as long as you distribute your work under the MIT License as well.
This repository is maintained by Giantpizzahead.
Special thanks to frodakcin and the other HHS Programming Club officers for helping out with JudgeLite's development!