简介
此项目的作用: 方便快速高效的记录每道题的完成情况,以备后期分析 需求如下:
- 可以划分学科,可以划分章节。
- 可以记录每题花费的时间及相关其他信息
- 可以查询到记录下来的数据
码云
2.0.0.RELEASE版软件下载(需要安装java8或以上版本):
百度云链接
启动方式
- 将jar包放到和 start.bat同路径下,jar包必须命名为ExerciseAnalysis-main.jar
- 双击start.bat 即可启动项目
- 打开页面 http://localhost:8888 页面即可看到前端页面
程序框架
- 后端: spring-boot + mybatisplus
- 前端: vue + element-ui
- 数据库: sqlite
数据库设计
DROP TABLE IF EXISTS learn_info;
DROP TABLE IF EXISTS p_code;
CREATE TABLE learn_info
(
id INTEGER primary KEY AUTOINCREMENT, -- id
`type` int, -- 类别,例数学、英语
thought TEXT, -- 二次分类,用于描述该题型
book int, -- 出现在哪本书上
chapter int, -- 章
`section` int, -- 节
`number` TEXT, -- 第几道题
repeat int DEFAULT 1, -- 重复做题次数
failed_repeat int DEFAULT 0, -- 做题失败的次数
star int, -- 难度评级
`comment` text, -- 评论
span int, -- 耗时
update_time DATE DEFAULT (datetime('now', 'localtime')), -- 更新时间
version int, -- 乐观锁
deleted int -- 逻辑删除
);
CREATE TABLE p_code
(
id INTEGER primary KEY AUTOINCREMENT, -- id
`code_type` text, -- 码表类
`name` text, -- 码表表示
`value` int, -- 值
content1 text, -- 关联的学科
content2 text, -- 关联的章节
content3 text,
update_time DATE DEFAULT (datetime('now', 'localtime')), -- 更新时间
version int, -- 乐观锁
deleted int -- 逻辑删除
)
页面设计
如下面两张图所示:
- 计时统计
- 点击计时开始,再点击计时节点后,会把左侧的表单信息+该任务的耗时发送到后端,存入到sqlite数据库当中
- 每点击一次计时节点,左侧"题"字段会自动在末尾的数组上加一,方便使用
- 如果"学科"、“书”、“章”、“节”、“题”、“题型” 一致的题目被视作做的同一道题,存入数据的时候会将做题次数+1
- 绿色的 + 号用于添加新的分类信息
- “书” 与 “学科” 有联动关系
- “题型分类” 与 “学科” 和 “章节” 有联动关系
- “说明” 允许使用HTML文本
- 数据查询页面
- 用来分析某些章节的题目情况的,这里提供了排序的功能
- 默认按照 “学科”、“书”、“章”、“节”、“题” 进行的排序,当选择其他排序之后,会把这些排序放在首选排序后面进行多次排序
- “书” 与 “学科” 有联动关系
- “题型分类” 与 “学科” 和 “章节” 有联动关系
- 说明列如果文字过长,会变成一个按钮"详情",当点击后弹框显示