基于 Spring Boot+MySQL实现的在线考试系统源码+数据库,基于不同类型的客观题,进行自动组卷、批卷等功能的考试系统

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. 部署

单纯启动:

  1. 安装 Mysql 并执行 sql 文件, 修改数据源配置 ,见 test-system.sqlapplication.yaml
  2. 注册七牛图床 ,修改项目中七牛相关信息,见 application.yaml 以及 前端页面中显示图片的域名全局替换下就好了
    我的是测试域名一个月有效期已经过了,如果你不介意图片显示不出来的话,可以跳过这步
  3. 启动!!

部署服务器:相比上面,多个几个步骤

  1. 启动!!
    使用mvn clean install 打包项目为 jar 包,我 IDEA 里打包不成功,一定要通过 cmd 进入项目文件夹再执行这个命令(具体原因好像是 IDEA 打包默认没有使用 springboot 的打包插件)
  2. 推到服务器中,再执行java -jar xxx 启动!!

2. 需求分析

2.1. 基础功能

  • 登录、注册
  • 首页公告栏
  • 操作日志

2.2. 学生

  • 查询考试列表
  • 参加考试
  • 查看错题集
  • 成绩分析

2.3. 教师

  • 审批管理:管理请求绑定自己班级的审批
  • 学生管理:管理自己班级下的所有学生
  • 班级管理:管理自己的班级
  • 考试管理:发布考试(自动生成试卷)、修改考试信息、取消考试
  • 成绩统计

2.4. 管理员

  • 用户管理:管理普通用户(学生、教师角色)
  • 审批管理:管理学生绑定教师某个班级的审批(增、同意/拒绝审批、删、查)
  • 班级管理:管理系统中所有班级
  • 查询成绩、做题记录
  • 题目管理:包括单选、多选、判断
  • 题库管理
  • 公告管理
  • 试卷管理:管理相应试卷(对已结束考试锁定,不可修改)
  • 考试管理:管理考试相关信息

2.5. 超级管理

拥有全部角色权限,且在此基础上添加功能:

  • 管理员管理:管理管理员角色用户

3. 部分运行截图

3.1. 通用

3.2. 学生

3.3. 教师

完整代码下载地址:基于 Spring Boot+MySQL实现的在线考试系统源码+数据库

相关推荐
SilentSamsara5 小时前
RAG 系统入门:LangChain/LlamaIndex + Chroma 向量数据库的检索增强实战
数据库·人工智能·python·青少年编程·langchain
RoboWizard5 小时前
一块硬盘上架前要闯多少关?
java·服务器·数据库
oyyanghh5 小时前
从Cursor到TRAE的三周vibe coding体验对比
数据库·oracle
Bert.Cai5 小时前
Oracle CONCAT函数详解
数据库·oracle
豆豆5 小时前
2026年如何选择适合自己的网站管理系统?
数据库·cms·wordpress·建站系统·网站管理系统·建站软件·织梦
xuefuhe5 小时前
MySQL8.4 tar.xz安装
mysql
吴声子夜歌6 小时前
SQL经典实例——检索记录
数据库·sql
黄焖鸡能干四碗6 小时前
软件系统概要设计说明书模版(Word)
大数据·运维·数据库·架构·需求分析
布朗克1686 小时前
39 Spring Boot Web实战
前端·spring boot·后端·实战
dust_and_stars6 小时前
为什么ubuntu24 snap install code-server 不需要--classic?
网络·数据库