投票管理系统的设计与实现

一、概述

此次实训项目我选择了开发一个投票管理系统,使用了springboot框架来构建项目,mysql作为后台数据库平台,前端使用了bootstrap,Echarts来对数据进行可视化,使用了安全框架shiro来对项目进行安全管理,里面加入了Redis来实现缓存,里面有些功能还未实现,例如,投票时间过期自动消失,这个问题我暂时想的是利用Redis去实现,设置过期实现,自动消失。慢慢来啦,这也算是springboot的helloword项目。

二、总体设计

项目总共从三个模块进行分析,登录模块,用户模块和管理员模块。

在这里插入图片描述

三、项目展示

1.登录注册模块:

用户登录模块包含了用户登录,管理员登录,主要功能有验证码验证,国际化显示,用户登录依靠shiro进行认证,为认证的用户无法登录用户,

在这里插入图片描述

2.管理员页面-用户管理:

用户页面也管理员页面是不一样的,我这里由于时间问题没有使用传统的RBAC结构,在我现在看来这个数据库结构设计的不是特别好。

在这里插入图片描述

3.管理员页面-投票管理:

管理员投票是使用bootstrap的模态框来实现:
在这里插入图片描述

4.管理员投票:

这是管理员投票,用户投票和管理员投票是不一样的,可能是由于我懒的原因,管理员可以对数据进行无上限的投票。
在这里插入图片描述

5.热门排行:

热门排行是对数据库中的数据进行排序,对其可视化。

在这里插入图片描述

6.信息查询:

这就是一个模糊查询,在文本框中输入查询的编号,即可生成树状图。

在这里插入图片描述

7.数据类型分析:

以下两张图的数据其实都是一样的,不一样的是展示数据的方式,这里可以看出当前主题中那个类型的投票数量最多,可能是饼图更加直观点哦。

在这里插入图片描述
在这里插入图片描述

8.用户投票:

用户投票,等我开发完这个功能之后,我发现了一个问题,我写了一个防止刷票,当用户投票成功后,确实是不能再投票了,此时这个投票总数会增加,但是,当用户查看自己的投票信息后,选择删除此条数据后,又能继续投票。

在这里插入图片描述

9.兴趣爱好:

兴趣爱好是根据用户投票选择的主题类型进行分析,以此来了解用户的个人兴趣爱好。

在这里插入图片描述

10.个人中心:

个人中心页面用户可以进行操作,修改密码,修改个人信息。

在这里插入图片描述

11.修改密码:

修改密码必须输入原密码正确后,才能修改成功,反之则修改失败。

在这里插入图片描述

12.头像上传下载:

头像上传,用户可以根据自己的兴趣爱好设置自己的头像,用户也可以下载自己的当前头像,点击头像即可下载。

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐