An online education system based on the OnlineJudge 2.0 by Qingdao University.
-
Added support for
C#,PerlandBrainF**k. -
Updated
JavaandPython3to the newest version. -
The UI was redesigned.
-
Most of the
iViewcomponents have been rewritten in our ownBajtonUIlibrary. -
The users can now see the output of the first two tests when viewing their submission.
-
And many others.
-
Git
-
Docker
-
Docker-Compose
-
NodeJS (14 or 16)
-
Yarn (you can use npm instead)
First, you need to clone this repository:
git clone https://github.com/vlo-software/bajton.gitThen, you have to enter the newly created bajton directory:
cd ./bajtonThe next step is to build the frontend:
cd ./OnlineJudgeFE && yarn && yarn build:dll && yarn buildAfter that, you need to copy the dist directory to the OnlineJudge folder:
cp -rf ./dist ../OnlineJudge/distWhen that's done, you can go back to the root directory of the project:
cd ..Now, you have to build the docker image used by the JudgeServer service:
cd ./JudgeServer/docker-base && sudo docker build -t judger-docker-base . && cd ../../Before the final step, you should edit the token that you will find in the
OnlineJudgeDeploy/docker-compose.yml.
With all the preparation completed, you can finally deploy the project:
cd OnlineJudgeDeploy && sudo docker-compose up -dYou have to follow the instructions for Linux, with one caveat, the way docker works on windows prevents the Postgres database from functioning properly when configured the way it's configured in our project.
The solution is to mount a physical drive formatted as ext4 and keep the project on that drive.
Note this is only possible on windows 11
If you want to contribute to this project, open an issue or create a pull request for an existing one.
There are no official guidelines as far as coding conventions are concerned.
Just follow your common sense 😉 .