Open Competitive Coding is a new model of Online Judge where all the activities of competitive coding like contest creation, problem submission, test-case creation and submission happens in an open-source manner yet maintaining the state of the art security principles.
Choose any question from the problem-set. In the solution/ folder create a file by the name of the problem. For e.g. if the problem name is 117-A
, then create 117-A.c
if you are solving in C or 117-A.go
if you are solving in golang. See supported programming languages to see what all languages are supported.
Say you are have solved the question example-A
by writing example.c, then execute the following command :
make submit solution-file=solution/example-A.c
Use make clean
to clean up all the mess created.
Commit all the files and raise a pull request against the master
branch.
That’s it! Once you see a ✅ against your pull request, that means that your solution is accepted.
auto-judger is all about open-source, free integrations, minimalism along with state of the art security principles.
The code that you submit is compiled (if required) and executed according to the language specified using specialized scripts that understand how to compile and run the code. The way that auto-judger compiles, executes and evaluates your solution is also open-source and can be seen in supported programming languages.
Your code is built and executed using CircleCI which is a free service for all open source repositories.
Security is a very critical part of auto-judger. How do we secure your code :
K1
and use it to encrypt your solution.K2
K2
we get K1
which was originally used for encrypting the solution.The only piece of the puzzle which is unknown to the world is the private key of the judge. All the other information is open-source and accessible to all. Still the system is as secure as any other online judge without compromising on any of the features.
Where the code for all this magic :
This project is at its very early stages and requires a lot of contribution from the open-source community. So feel free to send a Pull Request to enable any of the features.