Skip to content
/ ZuiOJ Public

🔥Zui Online Judge(ZOJ)🔥 基于SpringBoot和SpringCloud和Vue的开源在线代码评委系统(OJ)。An open source online judge system(OJ) based on Spring Boot, Spring Cloud and Vue

Notifications You must be signed in to change notification settings

DaZuiZui/ZuiOJ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

49543a7 · Apr 16, 2025
Nov 14, 2023
Aug 7, 2023
Nov 15, 2023
Jul 31, 2024
Dec 22, 2022
Jul 31, 2024
Oct 13, 2022
Oct 16, 2022
Sep 9, 2023
Dec 27, 2022
Oct 24, 2022
Oct 13, 2022
Dec 22, 2023
Apr 16, 2025
Jan 4, 2024
Sep 21, 2023
Sep 21, 2023

Repository files navigation

OJ system

恢复更新

Developer

Environment preparation

To run this program, you must have Ubuntu system,

Linux kernel version >= 3.10

jdk1.8 version,

mysql8.0,

redis.

go-judge system operation

The port required by gojudge is 5050

go_judge handbook.

  1. Download the binary precompiled file

https://github.com/criyle/go-judge/releases

or run on Docker

docker run -it --rm --privileged --shm-size=256m -p 5050:5050 criyle/executorserver

Run binary precompiled files on Ubuntu

First set permissions

chmod +x filename

After that start sandbox

./file name  

c/c++ locale test

Next we open postman for testing and send the request in post form http://IP:5050/run with parameters

{
    "cmd": [{
        "args": ["/usr/bin/g++", "Main.cc", "-o", "a"],
        "env": ["PATH=/usr/bin:/bin"],
        "files": [{
            "content": ""
        }, {
            "name": "stdout",
            "max": 10240
        }, {
            "name": "stderr",
            "max": 10240
        }],
        "cpuLimit": 10000000000,
        "memoryLimit": 104857600,
        "procLimit": 50,
        "copyIn": {
            "Main.cc": {
                "content": "#include <iostream>\nusing namespace std;\nint main() {\nint a, b;\ncin >> a >> b;\ncout << a + b << endl;\n} "
            }
        },
        "copyOut": ["stdout", "stderr"],
        "copyOutCached": ["Main.cc", "a"],
        "copyOutDir": "1"
    }]
}

Our server will return us

[
{
"status": "Accepted",
"exitStatus": 0,
"time": 726910000,
"memory": 55812096,
"runTime": 787566071,
"files": {
"stderr": "",
"stdout": ""
},
"fileIds": {
"Main.cc": "4EK46KIB",
"a": "LR567VHA"
}
}
]

Next we run him according to the Id of Main

{
    "cmd": [{
        "args": ["a"],
        "env": ["PATH=/usr/bin:/bin"],
        "files": [{
            "content": "1 1"
        }, {
            "name": "stdout",
            "max": 10240
        }, {
            "name": "stderr",
            "max": 10240
        }],
        "cpuLimit": 10000000000,
        "memoryLimit": 104857600,
        "procLimit": 50,
        "strictMemoryLimit": false,
        "copyIn": {
            "a": {
                "fileId": "LR567VHA"
            }
        }
    }]
}

Server feedback to us

[
{
"status": "Accepted",
"exitStatus": 0,
"time": 7191000,
"memory": 6672384,
"runTime": 15512983,
"files": {
"stderr": "",
"stdout": "2\n"
}
}
]

java locale test

todo

Awesome goLang language test

python3 language test

python2 language test

backend startup

todo

front-end startup

Dev log

Architecture diagram

About

🔥Zui Online Judge(ZOJ)🔥 基于SpringBoot和SpringCloud和Vue的开源在线代码评委系统(OJ)。An open source online judge system(OJ) based on Spring Boot, Spring Cloud and Vue

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published