{"id":21213644,"url":"https://github.com/dazuizui/zuioj","last_synced_at":"2025-10-07T01:47:39.619Z","repository":{"id":62834951,"uuid":"551010814","full_name":"DaZuiZui/ZuiOJ","owner":"DaZuiZui","description":"🔥Zui Online Judge(ZOJ)🔥 基于SpringBoot和SpringCloud和Vue的开源在线代码评委系统(OJ)。An open source online judge system(OJ) based on Spring Boot, Spring Cloud and Vue","archived":false,"fork":false,"pushed_at":"2025-04-16T10:21:57.000Z","size":89659,"stargazers_count":135,"open_issues_count":1,"forks_count":11,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-16T13:43:16.770Z","etag":null,"topics":["java","vue"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DaZuiZui.png","metadata":{"files":{"readme":"README-CN.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-10-13T17:36:25.000Z","updated_at":"2025-04-16T10:22:04.000Z","dependencies_parsed_at":"2025-04-16T11:51:19.863Z","dependency_job_id":null,"html_url":"https://github.com/DaZuiZui/ZuiOJ","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaZuiZui%2FZuiOJ","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaZuiZui%2FZuiOJ/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaZuiZui%2FZuiOJ/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaZuiZui%2FZuiOJ/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DaZuiZui","download_url":"https://codeload.github.com/DaZuiZui/ZuiOJ/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252776600,"owners_count":21802469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","vue"],"created_at":"2024-11-20T21:17:26.169Z","updated_at":"2025-10-07T01:47:34.582Z","avatar_url":"https://github.com/DaZuiZui.png","language":"Java","readme":"# README-CN\r\n\r\n# OJ系统\r\n\r\n \r\n\r\n## 环境准备\r\n\r\n​\t运行此程序必须要有**Ubuntu**系统，\r\n\r\n​\t\t\t\tLinux 内核版本 \u003e= 3.10\r\n​\t\t\t\tjdk1.8版本，\r\n\r\n​\t\t\t\tmysql8.0，\r\n\r\n​\t\t\t\tredis。\r\n\r\n### go-judge系统运行\r\n\r\n**gojudge所需要的端口是5050**\r\n\r\n\u003ca href=\"\"\u003ego_judge手册\u003c/a\u003e.\r\n\r\n 1.下载二进制预编译文件\r\n\r\nhttps://github.com/criyle/go-judge/releases \r\n\r\n或者在Docker上运行\r\n\r\n~~~bash\r\ndocker run -it --rm --privileged --shm-size=256m -p 5050:5050 criyle/executorserver\r\n~~~\r\n\r\n#### c/c++语言环境测试\r\n\r\n**接下来我们打开postman进行测试已post形式发送请求http://IP:5050/run携带参数**\r\n\r\n~~~java\r\n{\r\n    \"cmd\": [{\r\n        \"args\": [\"/usr/bin/g++\", \"Main.cc\", \"-o\", \"a\"],\r\n        \"env\": [\"PATH=/usr/bin:/bin\"],\r\n        \"files\": [{\r\n            \"content\": \"\"\r\n        }, {\r\n            \"name\": \"stdout\",\r\n            \"max\": 10240\r\n        }, {\r\n            \"name\": \"stderr\",\r\n            \"max\": 10240\r\n        }],\r\n        \"cpuLimit\": 10000000000,\r\n        \"memoryLimit\": 104857600,\r\n        \"procLimit\": 50,\r\n        \"copyIn\": {\r\n            \"Main.cc\": {\r\n                \"content\": \"#include \u003ciostream\u003e\\nusing namespace std;\\nint main() {\\nint a, b;\\ncin \u003e\u003e a \u003e\u003e b;\\ncout \u003c\u003c a + b \u003c\u003c endl;\\n}\"\r\n            }\r\n        },\r\n        \"copyOut\": [\"stdout\", \"stderr\"],\r\n        \"copyOutCached\": [\"Main.cc\", \"a\"],\r\n        \"copyOutDir\": \"1\"\r\n    }]\r\n}\r\n~~~\r\n\r\n**我们服务器会给我们返回**\r\n\r\n~~~bash\r\n[\r\n\t{\r\n\t\t\"status\": \"Accepted\",\r\n\t\t\"exitStatus\": 0,\r\n\t\t\"time\": 726910000,\r\n\t\t\"memory\": 55812096,\r\n\t\t\"runTime\": 787566071,\r\n\t\t\"files\": {\r\n\t\t\t\"stderr\": \"\",\r\n\t\t\t\"stdout\": \"\"\r\n\t\t},\r\n\t\t\"fileIds\": {\r\n\t\t\t\"Main.cc\": \"4EK46KIB\",\r\n\t\t\t\"a\": \"LR567VHA\"\r\n\t\t}\r\n\t}\r\n]\r\n~~~\r\n\r\n**接下来我们根据Main的Id对他进行run**\r\n\r\n~~~bash\r\n{\r\n    \"cmd\": [{\r\n        \"args\": [\"a\"],\r\n        \"env\": [\"PATH=/usr/bin:/bin\"],\r\n        \"files\": [{\r\n            \"content\": \"1 1\"\r\n        }, {\r\n            \"name\": \"stdout\",\r\n            \"max\": 10240\r\n        }, {\r\n            \"name\": \"stderr\",\r\n            \"max\": 10240\r\n        }],\r\n        \"cpuLimit\": 10000000000,\r\n        \"memoryLimit\": 104857600,\r\n        \"procLimit\": 50,\r\n        \"strictMemoryLimit\": false,\r\n        \"copyIn\": {\r\n            \"a\": {\r\n                \"fileId\": \"LR567VHA\"\r\n            }\r\n        }\r\n    }]\r\n}\r\n~~~\r\n\r\n**服务器对我们的反馈**\r\n\r\n~~~bash\r\n[\r\n\t{\r\n\t\t\"status\": \"Accepted\",\r\n\t\t\"exitStatus\": 0,\r\n\t\t\"time\": 7191000,\r\n\t\t\"memory\": 6672384,\r\n\t\t\"runTime\": 15512983,\r\n\t\t\"files\": {\r\n\t\t\t\"stderr\": \"\",\r\n\t\t\t\"stdout\": \"2\\n\"\r\n\t\t}\r\n\t}\r\n]\r\n~~~\r\n\r\n#### java语言环境测试\r\n\r\n**接下来我们打开postman进行测试已post形式发送请求http://IP:5050/run携带参数**\r\n\r\n~~~json\r\n{\r\n    \"cmd\": [{\r\n        \"args\": [\"/usr/bin/javac\",\"-encoding\",\"utf-8\",\"Main.java\"],\r\n        \"env\": [\"PATH=/usr/bin:/bin\"],\r\n        \"files\": [{\r\n            \"content\": \"\"\r\n        }, {\r\n            \"name\": \"stdout\",\r\n            \"max\": 102000\r\n        }, {\r\n            \"name\": \"stderr\",\r\n            \"max\": 102400\r\n        }],\r\n        \"cpuLimit\": 10000000000,\r\n        \"memoryLimit\": 104857600,\r\n        \"procLimit\": 50,\r\n        \"copyIn\": {\r\n            \"Main.java\": {\r\n                \"content\": \"public class Main{  public static void main(String[] args){    System.out.println(\\\"hello world\\\");  }}\"\r\n            }\r\n        },\r\n        \"copyOut\": [\"stdout\", \"stderr\"],\r\n        \"copyOutCached\": [\"Main.java\", \"Main.class\"],\r\n    }]\r\n}\r\n~~~\r\n\r\n**服务器反馈给我们的**\r\n\r\n~~~java\r\n[\r\n\t{\r\n\t\t\"status\": \"Accepted\",\r\n\t\t\"exitStatus\": 0,\r\n\t\t\"time\": 1355176000,\r\n\t\t\"memory\": 77733888,\r\n\t\t\"runTime\": 613378383,\r\n\t\t\"files\": {\r\n\t\t\t\"stderr\": \"\",\r\n\t\t\t\"stdout\": \"\"\r\n\t\t},\r\n\t\t\"fileIds\": {\r\n\t\t\t\"Main.class\": \"WD6HUHUY\",\r\n\t\t\t\"Main.java\": \"HFVY5JXI\"\r\n\t\t}\r\n\t}\r\n]\r\n~~~\r\n\r\n**接下来我们根据Main的Id对他进行run**\r\n\r\n~~~bash\r\n{\r\n    \"cmd\": [{\r\n        \"args\": [\"/usr/bin/java\",\"Main\"],\r\n        \"env\": [\"PATH=/usr/bin:/bin\"],\r\n        \"files\": [{\r\n            \"content\": \"1 1\"\r\n        }, {\r\n            \"name\": \"stdout\",\r\n            \"max\": 10240\r\n        }, {\r\n            \"name\": \"stderr\",\r\n            \"max\": 10240\r\n        }],\r\n        \"cpuLimit\": 10000000000,\r\n        \"memoryLimit\": 104857600,\r\n        \"procLimit\": 50,\r\n        \"strictMemoryLimit\": false,\r\n        \"copyIn\": {\r\n            \"Main.class\": {\r\n                \"fileId\": \"WD6HUHUY\"\r\n            }\r\n        }\r\n    }]\r\n}\r\n~~~\r\n\r\n**服务器的反馈结果**\r\n\r\n~~~bash\r\n[\r\n\t{\r\n\t\t\"status\": \"Accepted\",\r\n\t\t\"exitStatus\": 0,\r\n\t\t\"time\": 96107000,\r\n\t\t\"memory\": 35115008,\r\n\t\t\"runTime\": 66561063,\r\n\t\t\"files\": {\r\n\t\t\t\"stderr\": \"\",\r\n\t\t\t\"stdout\": \"hello world\\n\"\r\n\t\t}\r\n\t}\r\n]\r\n~~~\r\n\r\n## 前端\r\n\r\n~~~cmd\r\nnpm install\r\nnpm run dev\r\n~~~\r\n\r\n## 后端启动2个springboot main方法\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdazuizui%2Fzuioj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdazuizui%2Fzuioj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdazuizui%2Fzuioj/lists"}