基于Springboot+mybatis-plus+spring security的408刷题小程序
Posted 是饿梦啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Springboot+mybatis-plus+spring security的408刷题小程序相关的知识,希望对你有一定的参考价值。
简介:
原始数据:书目信息、章节信息、历史信息、错题本信息、收藏信息、打卡信息、做题数量信息、题目信息、记录信息以及用户信息等。
主要任务:系统主要采用spring boot作为后端框架,前端使用微信小程序的专有框架,主要实现对于计算机考研学子,提供一个可以刷题的微信小程序。主要功能包括,用户刷题历史的查看。用户对于题目收藏的添加、删除、查看。用户对于错题集的添加、删除、查看。刷题记录的修改,添加、查看。打卡记录的添加,查看。用户对于书目和章节信息的查看。以及用户对于自己学习检验等功能。
技术要求: 1.数据库:mysql数据库 ,redis数据库
数据获取:python爬虫的Beautifulsoup库和Selenium自动化框架
前端方面:微信小程序专有的框架
后端方面:Springboot、mybatis-plus、spring security、redis
系统模块设计:
部分数据库表设计:
部分系统概要设计 :
题目练习流程图:
添加查看删除错题流程图:
类图设计:
顺序图设计:
用例图设计:
部分接口设计:
部分系统详细设计:
登录模块设计:
模块描述:用户登录小程序进行验证,对用户输入的信息进行核检
输出项:无
成功:登录成功
失败:登录失败 / 授权失败
算法描述:
使用spring security框架,对用户输入的信息就行核验,首先根据微信用户的唯一code码解析出用户的唯一标识openid,验证openid的合法性,如果为非法用户,则说明是新用户,根据openid创建该用户并返回登录成功,并将openid写入到redis中。
收藏模块设计:
(1)收藏题目显示
输出项:题目已收藏/题目未收藏
算法描述:
当用户进入答题界面/点击下一题后,系统调用controller层显示收藏的接口,获取当前题目的id,调用service进而调用dao层,查询该题目是否被加入到收藏,并将结果返回。
(2)添加收藏题目
输入项:序号+题目id+用户的id+创建时间+修改时间
输出项:添加成功/添加失败
算法描述:
调用controller层添加收藏接口,将题目信息进行封装后,调用service进而调用dao层,将数据写入到数据库,完成添加。
(3)删除收藏题目
输入项:题目id
输出项:删除成功/删除失败
算法描述:
调用controller层删除收藏题目的接口,将前端传过来的题目id传入函数,调用service进而调用dao层,将数据从数据库中删除。
(4)查看收藏题目
输出项:返回全部收藏题目
算法描述:
调用controller层全部查询收藏题目的接口,根据redis查询当前登录用户的openid传入函数,调用service进而调用dao层,将数据从数据库中查询出来,封装后返回给前端。
刷题记录模块设计:
(1)添加刷题记录
输入项:序号+索引+对应书的序号+用户的id+创建时间+修改时间+对应章节序号
输出项:添加成功/添加失败
算法描述:
调用controller层添加刷题记录接口,通过redis查询当前登录用户的openid,将从前端获取的刷题记录信息进行封装,调用service进而调用dao层,将数据写入到数据库,完成添加。
(2)修改刷题记录
输出项:修改后的刷题记录
算法描述:
调用controller层全部查询的刷题历史接口,通过redis查询当前登录用户的openid,获取从前端传过来的题目索引,调用service进而调用dao层,根据用户id将当前用户对应书目和章节的刷题记录进行修改,并将结果返回给前端。
(3)查询刷题记录
输出项:返回当前书目所有章节的刷题记录
算法描述:
调用controller层查询刷题记录接口,通过redis查询当前登录用户的openid,调用service进而调用dao层,根据用户id以及书目id和章节id将当前用户的对应章节的所有刷题记录返回给前端。
部分小程序端设计:
微信小程序的编写是有微信开发者工具编写编译,编辑机型为iPhone X,小程序共有10个页面,分别为初始页面,个人页面,收藏页面,真题强化页面,快速刷题页面,答题页面,错题本页面,刷题记录页面,考试页面,打卡页面。
考试页面:
考试页面主要是以答题页面为模板,不过答完题目之后,不会立刻获取正确答案和解析,必要等全部做完。在这个页面用户可以点击上一题和下一题来分别切换题目,当切换到最后一题时,系统会提示你最后一题,并把下一题按钮切换成提交按钮,用户还可以点击上一题去浏览检查做过的题目,等到测试结束,正确答案和解析会在题目下方显示。另外还设置了时间管理,一个可以只有拖拽的浮动球,显示考试时间,给用户带来真实的考试体验。
答题页面:
答题页面是很多刷题页面的模板,起初是设计不同书目每一章的答题页面,页框最上方显示章节name和刷题进度,下面显示题目信息,包括题目详细,选项内容,答案信息,解析等,用户可以在答题页面将题加入错题本和收藏夹里面,下面是下一个的按钮响应。
部分系统运行展示:
1.用户刷题主页面
最上面导航栏对应的书目名字,还可以切换题库,中间部分是一个banner的轮播图,还有一部分是考研时间倒计时,下面部分就是章节的详细信息以及你刷题的数量和总数量。
2.答题页面
用户可以点击每一章节题目进行练习,上面view内容主要有用户所刷题目的章节信息,和你做题记录,还有一个做题的程序条来提高用户做题体验,下面就是题目信息和选项信息,用户可以进行选择,选择完成后可以下一题切换题目。
用户选择答案后,可以查看题目来源,正确答案和解析,还可以选择加入错题本,收藏题目,右角还可以联系客服反应异常情况。
3.考试界面
用户可以选择对应的章节进行阶段性测试,同时也会有时间来提醒用户,以创造更逼真的考试环境,时间结束后,系统将会强制收卷。
当用户做到最后一题的时候,会提示相应信息,并且按钮会变成交卷,交卷后就能查看答案和解析了。
4.错题本
用户可以在答题页面,快速刷题页面,真题强化页面,考试页面添加至错题本。
用户所加入的错题会在错题本里面展示,在这里面用户之前所选的答案,正确答案和解析都会显示出来.
5.打卡界面
用户做完题之后可以打卡,会统计这个月内你打卡的次数和总的坚持天数。
部分系统测试:
1.答题测试:
2.考试测试:
3.打卡测试:
408小程序
以上是关于基于Springboot+mybatis-plus+spring security的408刷题小程序的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot 整合 MyBatis-Plus 入门体验
基于Springboot+mybatis-plus+spring security的408刷题小程序
基于 SpringBoot + MyBatis-Plus 的公众号管理系统
springboot整合mybatis-plus+durid数据库连接池