Online Judge(OJ)搭建——1、项目介绍
项目名
Piers 在线评测
项目需求
用户:
- 获取题库、题目的相关信息。
- 在线对代码进行编译、执行、保存、返回运行(编译)结果。
- 总体题目评测成绩查询。
- 用户信息服务,包括注册、登录、忘记密码、邮箱验证等功能。
管理员:
- 题库、题目相关信息的增删改查。
- 用户导入,包括文件导入、输入等方式。
- 用户成绩查询与修改。
- 题目分析。
- 用户抄袭作弊检测。
项目特色
- 安全性高,采用 Docker、Tomcat 安全策略等多重机制保护运行时安全。
- 拥有抄袭作弊检测的功能,方便管理员对用户的作业检查。
- 基于 B/S 架构,方便易用。
项目架构
语言:Java
框架:Spring + Spring MVC + MyBatis
前端:Bootstrap
前端页面:JSP、JavaScript、AJAX
安全:Spring Security、Docker、Java Security
数据库:MySQL(MariaDB)
服务器:Tomcat
开发 IDE:Intellij IDEA
项目待办
1、RESTful。
2、Java Bean Validation。
3、Docker 权限控制。
4、分布式编译、运行代码,保存或者返回结果。
项目链接
代码:mofadeyunduo/OnlineJudge: Piers 在线评测
GitHub:
项目文档
Online Judge(OJ)搭建——2、数据库,SQL语句