1. 部署相关
1.1. 介绍
一个 JAVA 实现的在线考试系统,主要实现一套基于不同类型的客观题,进行自动组卷、批卷等功能的考试系统(没有主观题)
1.2. 系统架构
后端技术栈 | 基于 Spring Boot |
---|---|
数据库 | MySQL |
ORM | MyBatis & MyBatis-plus |
缓存 | Redis、guava的LoadingCache |
安全 | Shiro |
Excel 导出 | easyexcel |
日志 | slf4j、log4j2 |
图片上传 | qiniu |
其它工具 | swagger、hutool、guava、hibernate-validator |
实在是不怎么懂前端 [菜...]
前端技术栈 | 基于 layui |
---|---|
模板引擎 | thymeleaf |
表格展示 | echart |
1.3. 部署
单纯启动:
- 安装 Mysql 并执行 sql 文件, 修改数据源配置 ,见
test-system.sql
、application.yaml
- 注册七牛图床 ,修改项目中七牛相关信息,见
application.yaml
以及 前端页面中显示图片的域名全局替换下就好了
我的是测试域名一个月有效期已经过了,如果你不介意图片显示不出来的话,可以跳过这步 - 启动!!
部署服务器:相比上面,多个几个步骤
- 启动!!
使用mvn clean install
打包项目为 jar 包,我 IDEA 里打包不成功,一定要通过 cmd 进入项目文件夹再执行这个命令(具体原因好像是 IDEA 打包默认没有使用 springboot 的打包插件) - 推到服务器中,再执行
java -jar xxx
启动!!
2. 需求分析
2.1. 基础功能
- 登录、注册
- 首页公告栏
- 操作日志
2.2. 学生
- 查询考试列表
- 参加考试
- 查看错题集
- 成绩分析
2.3. 教师
- 审批管理:管理请求绑定自己班级的审批
- 学生管理:管理自己班级下的所有学生
- 班级管理:管理自己的班级
- 考试管理:发布考试(自动生成试卷)、修改考试信息、取消考试
- 成绩统计
2.4. 管理员
- 用户管理:管理普通用户(学生、教师角色)
- 审批管理:管理学生绑定教师某个班级的审批(增、同意/拒绝审批、删、查)
- 班级管理:管理系统中所有班级
- 查询成绩、做题记录
- 题目管理:包括单选、多选、判断
- 题库管理
- 公告管理
- 试卷管理:管理相应试卷(对已结束考试锁定,不可修改)
- 考试管理:管理考试相关信息
2.5. 超级管理
拥有全部角色权限,且在此基础上添加功能:
- 管理员管理:管理管理员角色用户
3. 部分运行截图
3.1. 通用
3.2. 学生
3.3. 教师
完整代码下载地址:基于 Spring Boot+MySQL实现的在线考试系统源码+数据库