A contest management system for local competitive programming contests like ioi or icpc.
Inspired by other similar projects like cms and DOMjudge.
The goals of this project are to be: easy to set up, fast, configurable; in that order.
For ease of use docker and docker-compose configuration files are provided.
With the use of docker, and end user, to set up a working environment, will only need:
docker
docker-compose
Dependencies used to build the binaries outside of the ones managed by Cargo:
protoc
if prost-build does not have a precompiled protoc for your platform (more info)
Dependencies that will be used at runtime, not that if you are using docker, you should not have to worry about these.
mongodb
forcontest service
andsubmission service
submission service
: rpc service that manages submissionsevaluation service
: rpc service that manages evaluation files and configurationcontest service
: rpc service that manages participant communication, files and configurationdispatcher service
: rpc service that dispatches submission evaluation to workersworker service
: rpc service that evaluates submissionsadmin webserver
: webserver for admin interactionparticipant webserver
: webserver for participantsscoreboard webserver
: webserver that builds and shows a scoreboard
protos
: contains everything related to service communicationutils
: contains commonly needed utilities