介绍
学之思考试系统是一款基于k12教育的考试平台,小学、初中、高中和不同学科均可以均可以使用,支持各种题型(单选、多选、判断、填空、解答),里面包含了三大系统:学生系统、教师系统(TODO)、管理员系统。
演示地址(国外渣服务器,加载慢):
- http://192.243.116.158 考试系统
- http://192.243.116.158:81 管理系统
学生系统模块:
管理系统模块:
- 试卷列表:试卷的增删改查,新增包含选择学科、试卷类型、试卷名称、考试时间,试卷内容包含添加大标题,然后添加题目到此试卷中,组成一套完整的试卷
- 题目列表:题目的增删改查,目前题型包含单选题、多选题、判断题、填空题、简单题,支持图片、公式等。
软件架构
系统采用了前后端分离技术,学生、教师、管理员系统前台均使用vue.js, 后台使用spring boot
后端技术栈列表:
前端技术栈列表:
安装教程
- redis 安装
- fastDfs 安装,安装教程,这里有2点需要注意下:
- 单台机器部署 tracker_server 设置为ip地址,不要设置127.0.0.1或者localhost
- 先启动ngix,再启动fastDfs服务,不然端口会被占用
- postgresql 安装后执行/exam/database下的数据库脚本,创建表初始化数据
- 下载好源码,
- /exam/source/exam为后台代码,建议使用IntelliJ IDEA打开,在application-dev.yml文件中,配置好postgesql、redis、fdfs的服务地址,打开ExamApplication文件编译运行。
- /exam/source/vue下为学生端、管理员端的前端代码,建议使用JetBrains WebStorm打开,使用命令:npm run serve即可编译代码
使用说明
1.学之思管理系统
- 学之思考试系统
系统优化说明
- 题目试卷等文本信息均存放在t_text_content表中,可换成ElasticSearch来存储,修改TextContentService接口中的实现即可
- 学生提交的试卷信息均为同步的,提高并发可考虑异步写入,使用Kafka等消息中间件来进行题目结果保存和写入,修改事件监听器CalculateExamPaperAnswerListener中的入库代码即可
- session使用redis共享,可水平扩展
项目地址:
https://gitee.com/alvis-yu/exam
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!