Skip to content

cao137831/online-judge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

OJ判题系统

1.项目简介

1.1 项目介绍

基于Vue3、SpringBoot、Docker的在线评测系统。

线上地址:online-judge

前端

  • 管理员可以创建、管理题目的基本信息和判题信息。
  • 用户可以自由按照题目名称和标签进行搜索题目、阅读、编写并提交代码,并查看代码通过情况。

后端

  • 保存用户提交的代码片段等信息,并上传到代码沙箱服务中运行,返回按照提前设定的用例输入执行后得到的执行结果、执行时间、运行内存等信息,然后与该题目提前设定的用例输出、执行时间、运行内存等信息进行比对来判断代码运行通过情况。

代码沙箱服务

  • 接收后端传递的代码片段、测试的输入用例,将其代码片段和输入用例保存,创建docker容器,并在容器中对代码编译、运行,得到输出结果、执行时间、运行内存等信息,返回给后端。

1.2 技术选型

前端

  • Vue3
  • Vuex状态管理
  • Arco Design组件库
  • 前端工程化:EXLint、Prettier、TypeScript
  • MarkDown 富文本编辑器
  • Monaco Editor 代码编辑器
  • OpenAPI 前端代码生成

后端

  • Spring Boot、MySQL、Redis
  • Docker-Java
  • MyBatis-plus
  • Redission
  • Knife4j
  • Hutool

1.3 设计模式

  • 策略模式
  • 工厂模式
  • 代理模式

2.支持判题代码

  • g++
  • python3
  • java
  • golang

About

简易在线评测系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published