简介:

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

        主要任务:系统主要采用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.打卡测试:

项目完整前后源码+项目说明书+数据库表设计 :

戳他:

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

  1. 2021最新 SpringBoot面试题精选(附刷题小程序)

    推荐使用小程序阅读 为了能让您更加方便的阅读 本文所有的面试题目均已整理至小程序<面试手册> 可以通过微信扫描(或长按)下图的二维码享受更好的阅读体验! 文章目录 推荐使用小程序阅读 1. ...

  2. 基于springboot+uniapp+vue3技术栈开发的开源跨平台小程序

    塔可商城, 一个基于springboot+uniapp+vue3技术栈开发的开源跨平台小程序.管理后台,后端服务的项目,它内置提供了会员分销, 区域代理, 商品零售等功能的新零售电商系统.强大弹性的架 ...

  3. springboot md5加密_实在!基于Springboot和WebScoket,写了一个在线聊天小程序

    基于Springboot和WebScoket写的一个在线聊天小程序 (好几天没有写东西了,也没有去练手了,就看了看这个...) 项目说明 此项目为一个聊天的小demo,采用springboot+web ...

  4. 基于科目分类的题库刷题小程序系统

    基于科目分类的题库刷题小程序系统 使用场景 在线答题,是一种在线练习.考试.测评的智能答题系统,适用于企业培训.学生练习.评测考核.知识竞赛.模拟考试等场景. 简介 考研刷题小程序云开发实战.题库小程 ...

  5. Jeecg-Boot 1.0 版本发布,基于SpringBoot+Mybatis+AntDesign快速开发平台

    基于SpringBoot+Mybatis+AntDesign企业级快速开发平台 引言:      Jeecg-Boot 一款基于代码生成器的J2EE快速开发框架!  采用前后端分离技术: Spring ...

  6. 基于springboot+mybatis+mysql+layui员工工资管理系统

    基于springboot+mybatis+mysql+layui员工工资管理系统 一.目的 二.需求 功能划分 系统结构设计 软件界面截图 三.系统开发配置 四.获取源码 一.目的 ​ 运用JavaE ...

  7. 基于springboot+mybatis+mysql+vue中学生成绩管理系统

    基于springboot+mybatis+mysql+vue中学生成绩管理系统 一.系统介绍 二.功能展示 1.登陆 2.用户管理(管理员) 3.班主任信息管理(管理员) 4.教师信息管理(管理员.班 ...

  8. 基于Springboot+Mybatis的学校教务管理系统

    一.基于Springboot+Mybatis的学校教务管理系统 此项目为基于Springboot+Mybatis的学校教务管理系统,主要分为用户端和管理端两个模块. 用户端主要支撑登录.观看首页.新闻 ...

  9. 基于Springboot+mybatis+mysql+html教育培训中心教学系统

    基于Springboot+mybatis+mysql+html教育培训中心教学系统 一.系统介绍 二.功能展示 1.用户登陆 2.用户注册 3.个人中心 4.人员信息管理 5.课程管理 6.缴费管理 ...

最新文章

  1. TaintDroid介绍
  2. pdf to word android,Scanned PDF to Word
  3. 前端学习(3134):react-hello-react之对象相关的性质
  4. 【华为云技术分享】物体检测yolo3算法 学习笔记2
  5. 【白皮书分享】技术重构社会供应链:未来科技趋势白皮书.pdf(附下载链接)...
  6. [原创]写给自己的总结—2014到2015
  7. 【原创】数据库基础之Mysql(2)主从库配置
  8. MongoDB几个完整的库表设计实例
  9. paddle serving
  10. ubuntu14.04.5安装paramiko模块pip install paramiko出现一堆问题的解决过程
  11. axure rp8 添加动态面板_AxureRP教程–动态面板高级应用
  12. log4j错误log4j:WARN No appenders could be found for logger
  13. html css做一个简历表,HTML table制做我的简历
  14. 设计原则之合成复用原则
  15. 微软 MSN BEET SDET 面试经过和总结
  16. UG如何把语言改成中文,UG如何把界面语言改成中文
  17. 【ArcGIS教程02】HTML弹窗挂接显示调研照片
  18. TEX:文档的布局与组织
  19. c语言字符串dna,DNA (C语言代码)
  20. 张岩 重庆大学 计算机学院,【学院之星】第二期

热门文章

  1. 世界500强华电集团:“远程集控 少人维护”,智能乌江水电管理从锐捷无线网开始...
  2. python:mysql创建数据库
  3. php think5 更改全局路径方法和用法
  4. 图数据库解决了什么问题?和关系型数据库的对比有哪些优势
  5. L2-046 天梯赛的赛场安排
  6. oracle rownum=1什么意思,Oracle中rownum用法总结
  7. C#net6控制台程序中读取appsettings.json
  8. 前端React教程第五课 深入React-Hook工作机制
  9. 2016全球大数据战略版图剖析(2)
  10. 三大地图付费后,仍可用的免费商用地图API