考试系统开源版设计(java + vue 的前后端分离)

一、考试系统开源版项目介绍

云帆考试系统采用全新的技术栈来开发,后端采用Java17+SpringBoot3.0,前端使用Vue3.0+TypeScript+ElementPlus。项目实现了前后端的完整考试流程,基础功能组件完整可用。

二、技术栈

|----|---------------------------------------------------------|
| 后端 | Java17 + SpringBoot3.0 + Shiro + MyBatisPlus + Swagger3 |
| 前端 | Vue3.0 + TypeScript + ElementPlus + Vite |

三、运行环境

|-------|---------------------|
| JDK版本 | JDK17 |
| 数据库 | MySQL5.7 或 MySQL8.0 |
| Redis | 4.x及以上 |
| Nginx | 可选,用于做前后端分离部署,无版本要求 |

四、在线体验

|--------|---------|---------|
| 在线体验地址 | https://be2.yfhl.net ||
| 平台 | 账号 | 密码 |
| 管理端 | admin | admin |
| 用户端 | student | student |

五、数据库设计

表名:el_cfg_base

说明:系统设置引擎:InnoDB

参数 类型 描述 非空
id varchar(32) ID
site_name varchar(255) 系统名称
login_logo varchar(255) 登录LOGO
login_bg varchar(255) 登录背景
back_logo varchar(255) 后台LOGO
copy_right varchar(255) 版权信息


表名:el_cfg_switch

说明:功能配置引擎:InnoDB

参数 类型 描述 非空
id varchar(32) 功能名称
val varchar(32) 开关或值


表名:el_exam

说明:课程引擎:InnoDB

参数 类型 描述 非空
id varchar(64) ID
title varchar(500) 考试名称
content varchar(2000) 考试描述
open_type int 1公开2部门3定员
state int 考试状态
start_time datetime 开始时间
end_time datetime 结束时间
total_score decimal(10,2) 总分数
total_time int 总时长(分钟)
qualify_score decimal(10,2) 及格分数
chance int 考试机会
hand_min int 最低交卷分钟
late_max int 允许迟到分钟
thanks varchar(2000) 感谢文字
repo_id varchar(64) 组卷题库ID
create_time datetime 创建时间
update_time datetime 更新时间
create_by varchar(255) 创建人
update_by varchar(255) 修改人


表名:el_exam_record

说明:考试记录引擎:InnoDB

参数 类型 描述 非空
id varchar(64) ID
user_id varchar(64) 用户ID
exam_id varchar(64) 考试ID
paper_id varchar(255) 结算的试卷ID
try_count int 考试次数
max_score decimal(10,2) 最高分数
last_score decimal(10,2) 最近分数
passed tinyint 是否通过


表名:el_exam_rule

说明:考试规则引擎:InnoDB

参数 类型 描述 非空
id varchar(64) ID
exam_id varchar(64) 考试ID
repo_id varchar(64) 题库ID
qu_type varchar(64) 题型
qu_count int 出题数量
qu_score decimal(10,0) 每题分数


表名:el_paper

说明:试卷引擎:InnoDB

参数 类型 描述 非空
id varchar(64) ID
user_id varchar(64) 用户ID
exam_id varchar(64) 考试ID
title varchar(500) 考试标题
total_time int 考试时长
user_time int 用户时长
total_score decimal(10,2) 试卷总分
qualify_score decimal(10,2) 试卷及格分
user_score decimal(10,2) 用户总得分
limit_time datetime 最后截止时间
hand_time datetime 实际交卷时间
hand_state int 交卷状态,0未交卷,1已交卷,2强制交卷
passed tinyint 成绩是否合格
create_time datetime 创建时间
update_time datetime 更新时间
create_by varchar(255) 创建人
update_by varchar(255) 修改人


表名:el_paper_qu

说明:试卷考题引擎:InnoDB

参数 类型 描述 非空
id varchar(64) ID
paper_id varchar(64) 试卷ID
qu_id varchar(64) 题目ID
qu_type varchar(32) 题目类型
answered tinyint 是否已答
mark tinyint 是否标记
sort int 问题排序
score decimal(10,2) 单题分分值
actual_score decimal(10,2) 实际得分(主观题)
is_right tinyint 是否答对


表名:el_paper_qu_answer

说明:试卷考题备选答案引擎:InnoDB

参数 类型 描述 非空
id varchar(64) ID
paper_id varchar(64) 试卷ID
answer_id varchar(32) 回答项ID
qu_id varchar(32) 题目ID
is_right tinyint 是否正确项
answer varchar(2000) 填空题
checked tinyint 是否选中
sort int 排序
abc varchar(64) 选项标签


表名:el_repo

说明:题库引擎:InnoDB

参数 类型 描述 非空
id varchar(64) ID
title varchar(255) 题库名称
cat_id varchar(32) 分类ID
remark varchar(255) 题库备注
create_time datetime 创建时间
update_time datetime 更新时间
create_by varchar(255) 创建人
update_by varchar(255) 修改人


表名:el_repo_qu

说明:问题题目引擎:InnoDB

参数 类型 描述 非空
id varchar(64) ID
repo_id varchar(64) 所属题库
chapter_id varchar(64) 所属章节
qu_type varchar(32) 题目类型
difficulty_level varchar(32) 难度等级
content text 题目内容
analysis text 整题解析
create_time datetime 创建时间
update_time datetime 更新时间
create_by varchar(255) 创建人
update_by varchar(255) 修改人


表名:el_repo_qu_answer

说明:候选答案引擎:InnoDB

参数 类型 描述 非空
id varchar(64) ID
qu_id varchar(64) 问题ID
is_right tinyint 是否正确
content varchar(5000) 答案内容
image varchar(500) 图片地址
tag varchar(255) ABCD标签


表名:el_sys_depart

说明:部门信息引擎:InnoDB

参数 类型 描述 非空
id varchar(32) ID
dept_type int 1公司2部门
parent_id varchar(32) 所属上级
dept_name varchar(255) 部门名称
dept_code varchar(255) 部门编码
dept_level int 部门层级
sort int 排序
create_time datetime 创建时间
update_time datetime 更新时间
create_by varchar(255) 创建人
update_by varchar(255) 修改人


表名:el_sys_dic

说明:分类字典引擎:InnoDB

参数 类型 描述 非空
id varchar(32) ID
dic_code varchar(255) 字典编码
type int 1分类字典,2数据字典
title varchar(255) 字典名称
remark varchar(255) 字典描述
create_time datetime 创建时间
update_time datetime 更新时间
create_by varchar(255) 创建人
update_by varchar(255) 修改人


表名:el_sys_dic_value

说明:分类字典值引擎:InnoDB

参数 类型 描述 非空
id varchar(32) ID/字典编码
dic_code varchar(255) 归属字典
dic_value varchar(255) 子项编码
title varchar(255) 分类名称
parent_id varchar(32) 上级ID
remark varchar(255) 描述
create_time datetime 创建时间
update_time datetime 更新时间
create_by varchar(255) 创建人
update_by varchar(255) 修改人


表名:el_sys_menu

说明:系统菜单引擎:InnoDB

参数 类型 描述 非空
id varchar(32) ID
parent_id varchar(32) 上级菜单
menu_type int 1菜单2功能
permission_tag varchar(255) 权限标识
path varchar(255) 访问路径
component varchar(255) 视图或Layout
redirect varchar(255) 跳转地址
name varchar(255) 名称
meta_title varchar(255) 路由标题
meta_icon varchar(255) 路由标题
meta_active_menu varchar(255) 高亮菜单
meta_no_cache tinyint 是否缓存
hidden tinyint 是否隐藏
sort int 越小越前
create_time datetime 创建时间
update_time datetime 更新时间
create_by varchar(255) 创建人
update_by varchar(255) 修改人


表名:el_sys_role

说明:角色引擎:InnoDB

参数 类型 描述 非空
id varchar(32) 角色ID
role_name varchar(255) 角色名称
data_scope int 数据权限
role_level int 越大越高
remark varchar(255) 备注信息
create_time datetime 创建时间
create_by varchar(255) 创建人
update_time datetime 更新时间
update_by varchar(255) 修改人


表名:el_sys_role_menu

说明:角色菜单授权引擎:InnoDB

参数 类型 描述 非空
id varchar(32) ID
role_id varchar(32) 角色ID
menu_id varchar(32) 菜单ID
create_time datetime 创建时间
update_time datetime 更新时间
create_by varchar(255) 创建人
update_by varchar(255) 修改人
data_flag int 数据标识


表名:el_sys_user

说明:管理用户引擎:InnoDB

参数 类型 描述 非空
id varchar(32) ID
user_name varchar(255) 用户名
real_name varchar(255) 真实姓名
avatar varchar(255) 头像
password varchar(255) 密码
salt varchar(255) 密码盐
state int 状态
id_card varchar(255) 身份证号码
mobile varchar(255) 手机号
email varchar(255) 邮箱
dept_code varchar(32) 部门编码
create_time datetime 创建时间
create_by varchar(255) 创建人
update_time datetime 更新时间
update_by varchar(255) 修改人


表名:el_sys_user_role

说明:用户角色引擎:InnoDB

参数 类型 描述 非空
id varchar(32) ID
user_id varchar(32) 用户ID
role_id varchar(32) 角色ID


表名:pl_plugin_data

说明:插件信息引擎:InnoDB

参数 类型 描述 非空
id varchar(255) ID
code varchar(255) 唯一识别码
title varchar(255) 插件名称
schema_id varchar(255) 元数据ID
group_id varchar(255) 分组ID
config_data varchar(5000) 配置数据
service_clazz varchar(2000) 后端服务类
component varchar(255) 前端页面
in_use tinyint 是否使用
state varchar(255) 插件状态


表名:pl_plugin_group

说明:插件分组引擎:InnoDB

参数 类型 描述 非空
id varchar(255) ID
title varchar(255) 分组名称
single tinyint 独立排斥


表名:pl_plugin_schema

说明:插件元数据引擎:InnoDB

参数 类型 描述 非空
id varchar(255) ID
schema_data varchar(5000) 元数据
group_id varchar(255) 分组


表名:qrtz_blob_triggers


参数 类型 描述 非空
SCHED_NAME varchar(120)
TRIGGER_NAME varchar(200)
TRIGGER_GROUP varchar(200)
BLOB_DATA blob,
-- Records


表名:qrtz_calendars


参数 类型 描述 非空
SCHED_NAME varchar(120)
CALENDAR_NAME varchar(200)
CALENDAR blob


表名:qrtz_cron_triggers


参数 类型 描述 非空
SCHED_NAME varchar(120)
TRIGGER_NAME varchar(200)
TRIGGER_GROUP varchar(200)
CRON_EXPRESSION varchar(120)
TIME_ZONE_ID varchar(80)


表名:qrtz_fired_triggers


参数 类型 描述 非空
SCHED_NAME varchar(120)
ENTRY_ID varchar(95)
TRIGGER_NAME varchar(200)
TRIGGER_GROUP varchar(200)
INSTANCE_NAME varchar(200)
FIRED_TIME bigint
SCHED_TIME bigint
PRIORITY int
STATE varchar(16)
JOB_NAME varchar(200)
JOB_GROUP varchar(200)
IS_NONCONCURRENT varchar(1)
REQUESTS_RECOVERY varchar(1)


表名:qrtz_job_details


参数 类型 描述 非空
SCHED_NAME varchar(120)
JOB_NAME varchar(200)
JOB_GROUP varchar(200)
DESCRIPTION varchar(250)
JOB_CLASS_NAME varchar(250)
IS_DURABLE varchar(1)
IS_NONCONCURRENT varchar(1)
IS_UPDATE_DATA varchar(1)
REQUESTS_RECOVERY varchar(1)
JOB_DATA blob,


表名:qrtz_locks


参数 类型 描述 非空
SCHED_NAME varchar(120)
LOCK_NAME varchar(40)


表名:qrtz_paused_trigger_grps


参数 类型 描述 非空
SCHED_NAME varchar(120)
TRIGGER_GROUP varchar(200)


表名:qrtz_scheduler_state


参数 类型 描述 非空
SCHED_NAME varchar(120)
INSTANCE_NAME varchar(200)
LAST_CHECKIN_TIME bigint
CHECKIN_INTERVAL bigint


表名:qrtz_simple_triggers


参数 类型 描述 非空
SCHED_NAME varchar(120)
TRIGGER_NAME varchar(200)
TRIGGER_GROUP varchar(200)
REPEAT_COUNT bigint
REPEAT_INTERVAL bigint
TIMES_TRIGGERED bigint


表名:qrtz_simprop_triggers


参数 类型 描述 非空
SCHED_NAME varchar(120)
TRIGGER_NAME varchar(200)
TRIGGER_GROUP varchar(200)
STR_PROP_1 varchar(512)
STR_PROP_2 varchar(512)
STR_PROP_3 varchar(512)
INT_PROP_1 int
INT_PROP_2 int
LONG_PROP_1 bigint
LONG_PROP_2 bigint
DEC_PROP_1 decimal(13,4)
DEC_PROP_2 decimal(13,4)
BOOL_PROP_1 varchar(1)
BOOL_PROP_2 varchar(1)


表名:qrtz_triggers


参数 类型 描述 非空
SCHED_NAME varchar(120)
TRIGGER_NAME varchar(200)
TRIGGER_GROUP varchar(200)
JOB_NAME varchar(200)
JOB_GROUP varchar(200)
DESCRIPTION varchar(250)
NEXT_FIRE_TIME bigint
PREV_FIRE_TIME bigint
PRIORITY int
TRIGGER_STATE varchar(16)
TRIGGER_TYPE varchar(8)
START_TIME bigint
END_TIME bigint
CALENDAR_NAME varchar(200)
MISFIRE_INSTR smallint
JOB_DATA blob,

六、系统功能介绍

登录&注册

登录:使用账号+密码登录到系统,由系统判定角色,用户角色查看用户端功能,管理端角色管理考试系统

注册:(1)用户主动注册,填写用户名、姓名、密码,(2)管理端创建用户,包含用户名、姓名、密码、部门、角色、头像、身份证号、手机号码。

用户端

在线考试:(1)在线考试,交卷后系统自动出分,(2)支持单选题、多选题、判断题,(3)查看考试成绩,列出用户所有参与的考试记录,列出考试名称、考试次数、最高分数、最近分数、是否通过,取分逻辑为取成绩的最高分,(4)考试错题归类,考试错题自动归到错题集中,支持错题训练。

管理端

考试管理:(1)考试基本配置:考试名称、考试时间、总分、及格分、考试时长、考试机会、允许迟到时长、最低交卷时长、考试说明,(2)考试结果,显示分数,(3)考试权限:完全公开,(4)组卷方式:随机组卷,设置抽题的规则,保存的是规则不是真正的试题,而是系统抽题的规则。

题库管理:(1)题库名称,(2)自定义题库分类。(3)试题类型:单选题、多选题、判断题,(4)试题属性:自定义试题难度等级、试题题干、试题选项(干扰选项、答案选项、答案标识)、试题解析,(5)搜索试题。

组织架构:(1)管理部门组织结构,(2)管理系统用户:创建新用户、修改用户信息、启用用户、禁用用户。

系统配置:(1)管理系统菜单,(2)系统角色管理:分为学员和超级管理员,可以创建子管理员,(3)数据字典:试题难度、题库分类、用户状态等定义,(4)系统个性设置:系统名称、登录页背景图、后台图标、底部信息、用户注册开启与关闭。

如果开源版无法满足您的需求,商业版支持更加丰富的考试内容,周边课程学习、企业培训计划、发放证书、问卷答题等。
考试系统开源版 考试系统开源版设计 考试系统开源版在线体验

七、开源版下载

开源版考试系统下载 https://gitee.com/youth-is-as-pale-as-poetry/exam-system-v2.0https://gitee.com/youth-is-as-pale-as-poetry/exam-system-v2.0

相关推荐
qq_27049009610 小时前
JAVA在线考试系统online exam
在线考试·源码
李白的粉9 个月前
基于ssm的在线考试系统
java·毕业设计·ssm·课程设计·在线考试系统·源代码
lc寒曦1 年前
【VBA实战】使用Word制作简易的考试及阅卷系统
word·vba·考试系统
尚学教辅学习资料1 年前
基于微信小程序的公务员考试信息查询系统+LW示例参考
小程序·毕业设计·考试系统·java源码·公务员·信息查询
Crazy Struggle1 年前
.NET 8.0 开源在线考试系统(支持移动端)
跨平台·在线考试系统·.net 8.0
计算机编程-吉哥1 年前
计算机毕业设计 基于Django的在线考试系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档
python·django·毕业设计·课程设计·毕业论文·在线考试系统·计算机毕业设计选题
wusp19941 年前
基于Python的智慧校园考试系统的设计与实现
python·智慧校园·设计·考试系统·实现
mon_star°1 年前
基于考研题库小程序V2.0实现倒计时功能板块和超时判错功能
考研·微信小程序·小程序·云开发·考试系统·答题小程序·知识竞赛
云帆小二1 年前
考试系统提供源码能做什么?
考试·考试系统·考试系统源码·考试系统二开·考试系统源代码·考试源码·考试软件