{"id":20045582,"url":"https://github.com/stuoj/stuoj","last_synced_at":"2025-05-05T09:30:50.735Z","repository":{"id":260088023,"uuid":"860451550","full_name":"STUOJ/STUOJ","owner":"STUOJ","description":"STUOJ 是汕头大学疾风算法协会的 ACM-ICPC 算法程序在线评测系统，支持 AI 大模型自动出题。用户可以提交代码到代码沙箱进行评测，管理员可以导入或自动生成算法题目、测试用例和题解代码。","archived":false,"fork":false,"pushed_at":"2025-05-03T15:17:52.000Z","size":1507,"stargazers_count":14,"open_issues_count":24,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-03T16:37:44.628Z","etag":null,"topics":["acm-icpc","gin","go","gorm","oj","online-judge"],"latest_commit_sha":null,"homepage":"http://stuoj.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/STUOJ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-09-20T13:11:22.000Z","updated_at":"2025-04-22T13:24:15.000Z","dependencies_parsed_at":"2024-11-12T10:21:50.613Z","dependency_job_id":"180982c6-2a53-4836-b37c-15e249032c87","html_url":"https://github.com/STUOJ/STUOJ","commit_stats":null,"previous_names":["hex9cf/stuoj","stuoj/stuoj"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STUOJ%2FSTUOJ","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STUOJ%2FSTUOJ/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STUOJ%2FSTUOJ/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STUOJ%2FSTUOJ/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/STUOJ","download_url":"https://codeload.github.com/STUOJ/STUOJ/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252471324,"owners_count":21753150,"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":["acm-icpc","gin","go","gorm","oj","online-judge"],"created_at":"2024-11-13T11:17:59.646Z","updated_at":"2025-05-05T09:30:50.718Z","avatar_url":"https://github.com/STUOJ.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# STU Online Judge System\n\n## 项目简介\n\nSTUOJ 是汕头大学疾风算法协会的 ACM-ICPC 算法程序在线评测系统，基于 Go 语言和 Gin 框架开发。\n\n用户可以在平台上阅读算法题目，并可提交代码到代码沙箱进行评测，评测完成后系统将返回评测结果。管理员可以管理用户、导入题目、修改评测点数据、管理提交记录、查询系统统计数据和修改系统设置。\n\nSTUOJ 也是一款基于 AI 大模型的 ACM-ICPC 算法题目自动出题 OJ 系统，可以自动生成算法题目、测试用例和题解代码。\n\n![image](https://github.com/user-attachments/assets/c8c3ff89-8a7c-4258-9184-5020fdf4ca72)\n\n## API 文档\n\n- Apifox：[https://stuoj-api.apifox.cn](https://stuoj-api.apifox.cn)\n\n## 系统架构\n\n- 后端：Gin + Gorm\n- 前端：Vue + Element Plus\n- 数据库：MySQL\n- 代码沙箱: Judge0\n- 图床服务: [yuki-image](https://github.com/ArtdragonXoX/yuki-image)\n- 反向代理：Nginx\n- 容器化部署：Docker\n- 题目文件格式：FPS\n- 人工智能工具包：[NekoACM](https://github.com/HEX9CF/NekoACM)\n\n![image](https://github.com/user-attachments/assets/367668c5-585f-4fa2-820e-6891f638b0d8)\n\n## 系统功能\n\n![STUOJ](https://github.com/user-attachments/assets/68c7f6d9-7b07-4c26-a416-ff163f751f48)\n\n## UML\n\n### 用例图\n\n![image](https://github.com/user-attachments/assets/d27bc6a6-bcdd-422b-baa5-8a85ba05b79b)\n\n### 活动图 \n\n#### 用户注册\n![image](https://github.com/user-attachments/assets/10867d10-bae6-42d8-a613-bf6aed90e071)\n\n#### 用户登录\n![image](https://github.com/user-attachments/assets/cda37df8-469b-46f4-90b6-a74d1c097458)\n\n#### 用户修改个人信息\n![image](https://github.com/user-attachments/assets/cb85d84e-11ce-4d43-b6d2-c85a799276ad)\n\n#### 用户修改密码\n![image](https://github.com/user-attachments/assets/f98ad919-83bb-4543-bd34-01643962498f)\n\n#### 题目信息\n![image](https://github.com/user-attachments/assets/53bdd18b-8498-45a0-af7a-29253d5c0109)\n\n#### 提交代码\n![image](https://github.com/user-attachments/assets/f910a74f-1c15-4a83-aa79-f8b454671f28)\n\n#### 提交记录\n![image](https://github.com/user-attachments/assets/e734151a-a403-46da-af01-1a9620f3049c)\n\n### 时序图\n\n#### 用户注册\n![image](https://github.com/user-attachments/assets/76828acc-fdcb-4924-8653-a4e45917d311)\n\n#### 用户登录\n![image](https://github.com/user-attachments/assets/3dded833-b5b9-498d-aa74-1662fe8c53af)\n\n#### 用户修改个人信息\n![image](https://github.com/user-attachments/assets/8c90e730-5b24-4304-b0dd-8486622905a1)\n\n#### 用户找回密码\n![image](https://github.com/user-attachments/assets/ce932c5d-5684-418c-96fa-47eed1a73041)\n\n#### 题目信息\n![image](https://github.com/user-attachments/assets/0be9c8a6-a828-4b41-bfc6-e93cb1d741ed)\n\n#### 提交代码\n![image](https://github.com/user-attachments/assets/6f2d4642-3199-4432-9e5f-b1f0eacd41a8)\n\n#### 提交记录\n![image](https://github.com/user-attachments/assets/e0dab15a-2d33-46de-832c-4959ec3ee410)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuoj%2Fstuoj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstuoj%2Fstuoj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuoj%2Fstuoj/lists"}