基于Springboot+mybatis-plus+spring security的408刷题小程序

简介:

        原始数据:书目信息、章节信息、历史信息、错题本信息、收藏信息、打卡信息、做题数量信息、题目信息、记录信息以及用户信息等。

        主要任务:系统主要采用spring boot作为后端框架,前端使用微信小程序的专有框架,主要实现对于计算机考研学子,提供一个可以刷题的微信小程序。主要功能包括,用户刷题历史的查看。用户对于题目收藏的添加、删除、查看。用户对于错题集的添加、删除、查看。刷题记录的修改,添加、查看。打卡记录的添加,查看。用户对于书目和章节信息的查看。以及用户对于自己学习检验等功能。

        技术要求: 1.数据库:MySQL数据库 ,redis数据库

        数据获取:python爬虫的Beautifulsoup库和Selenium自动化框架

        前端方面:微信小程序专有的框架

        后端方面:Springboot、mybatis-plus、spring security、redis

系统模块设计:

9c226797253848b5bf3ef2bc6db8c6c9.png

 部分数据库表设计:

6b0b87a9dd724e3ea6e6865480e13208.png

a8e27e1e0105459ba90454c271d4492b.png

bdca2ffddfbd4219b656689088bff30e.png

d5d3f87c22104c05b2a66c8708777d78.png

部分系统概要设计 :

题目练习流程图:

fe6d28df257b4175b7a4450813bef2ba.png

 添加查看删除错题流程图:

4a7af90eff4049a08ef64ee3f251c254.png

 类图设计:

5fca9bfd089746be98bf1b58e92f4667.png

 顺序图设计:

458417229fa4481fae5e14bd87a2e422.png

 用例图设计:

5dfcbc7925ed41d68a81a2bf12da0966.png

 部分接口设计:

fa4e1e2aad9142c2b71b3284713ed4e2.png

32773230818d440fb04047103161890a.png

a44f33df23eb48949e208aa6ff95d2c4.png

af09338c6b974b7ea8e13dcfc2b1a750.png

 部分系统详细设计:

登录模块设计:

模块描述:用户登录小程序进行验证,对用户输入的信息进行核检

输出项:无

成功:登录成功

失败:登录失败 / 授权失败 

算法描述:

使用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的轮播图,还有一部分是考研时间倒计时,下面部分就是章节的详细信息以及你刷题的数量和总数量。

f9270f4b797644c7946ed349f9f964b1.png

2.答题页面

用户可以点击每一章节题目进行练习,上面view内容主要有用户所刷题目的章节信息,和你做题记录,还有一个做题的程序条来提高用户做题体验,下面就是题目信息和选项信息,用户可以进行选择,选择完成后可以下一题切换题目。

ec7d750385fe474c8f932f7aa5315c43.png

用户选择答案后,可以查看题目来源,正确答案和解析,还可以选择加入错题本,收藏题目,右角还可以联系客服反应异常情况。

5f7cca86bdc84f17bee23a280b740c8c.png

3.考试界面

用户可以选择对应的章节进行阶段性测试,同时也会有时间来提醒用户,以创造更逼真的考试环境,时间结束后,系统将会强制收卷。

b681e908625c4c26bb23da75d5e5cf4e.png

当用户做到最后一题的时候,会提示相应信息,并且按钮会变成交卷,交卷后就能查看答案和解析了。

f1a4167de5424c11a63170f1a6cfa8e9.png

 4.错题本

用户可以在答题页面,快速刷题页面,真题强化页面,考试页面添加至错题本。

297ff2ca372247a9b86a926182ee81b4.png

用户所加入的错题会在错题本里面展示,在这里面用户之前所选的答案,正确答案和解析都会显示出来.

66fddc71f4c64573a75a638f79c144e5.png

5.打卡界面

用户做完题之后可以打卡,会统计这个月内你打卡的次数和总的坚持天数。

ad5e49bcaf7d459e8d494c0bdcf6b70b.png

 部分系统测试:

1.答题测试:

8df6c1e1b5e7444383aafc37120f2d5b.png

 2.考试测试:

2afbffb5f9a54eff854ab4d433152d87.png

3.打卡测试: 

29e562afeb2a4c56a1a3a0dcaf1ae9b8.png

效果预览:

         408小程序

项目包含完整源码+软件说明书+数据库

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是饿梦啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值