1,项目介绍
1.1 项目背景
网络问答平台经历了多年的发展,目前处于一个日益成熟的状态。最早的网络问答平台是知乎,知乎的创立者认为有许多信息在互联网上没有被记录和共享,于是他们决定创造一个平台,能够让更多人可以分享答案并围绕这些信息开始探讨。
经过了这几年的发展,网络问答平台越来越成熟,各种平台如百度知道、搜狗问问、Quora等不断涌现,取代了一些早期问答平台,并成为网络问答主要的容器之一。网络问答平台可以通过海量的问题和专业人士的回答,较快地为人们提供专业的、高质量的知识。同时,这些问答平台也让普通用户在这里回答问题、分享经验,将普通用户的思路与观点整合成系统化的知识,满足用户对知识和信息的需求。
2,需求分析
线上学习网站至少需要三个主要角色,分别是学生,老师,管理员。
2.1 特色功能:
- 积分系统:用户可以通过上传资料,回答问题等途径获取积分。获取的积分可以在系统内兑换礼品。
- 基本概念:学生与教师账号的登录注册,修改密码,退出登录等均属于系统基础功能,以下将不再赘述
2.2 学生端功能:
- 在线提问:学生用户可在系统内查看知名教师或者人气学霸的资料,或者选择向知名教师、人气学霸选择在线提问各种问题。
- 有问有答:学生用户可以按照年级分类或学科分类查看其他人的提问和回答。也可以选择年级和学科向指定的用户提问。当然,学生用户也可以对其他人的提问进行回复,遇到不合理的问题也可以选择举报。
- 资料专区:用户可以根据年级、学科、资料类型、积分类型、关键字等信息搜索所需资料。并使用积分下载该资料。
- 积分兑换:用户可以在兑换专区按照个人喜好使用积分兑换礼品。
- 意见反馈:用户可以向系统管理员反馈软件BUG、平台建设、创新建议或者其他建议。
- 个人中心:用户在个人中心更改自己的头像、密码、昵称、简介等信息。也可以查看自己兑换的商品和收获地址。
2.3 教师端功能:
- 教师认证:教师在用户端上传身份证、教师资格证照片后;后台管理端管理员会对此进行审核。审核通过后,即可获得教师认证,从而获得更多曝光率和更多积分。
- 有问有答:教师可以回答学生向他提问的专属问题。教师用户可以按照年级分类或学科分类查看其他人的提问和回答。当然,教师用户也可以对其他人的提问进行回复。遇到不合理的问题也可以选择举报。
- 资料专区:用户可以按照不同类型、学科或年级上传资料获取积分。也可以根据年级、学科、资料类型、积分类型、关键字等信息搜索所需资料。并使用积分下载该资料。
- 积分兑换:用户可以在兑换专区使用积分兑换礼品。
- 个人中心:用户在个人中心更改自己的头像、密码、昵称、简介等信息。也可以查看自己兑换的商品和收获地址。
2.4 后台管理端功能:
- 用户管理
1.1 用户管理:管理员可以根据用户的各种信息对学生进行搜索。管理员也可以对用户的基本信息进行修改,并修改用户的登录状态、评论状态、提问状态、解答状态、账号状态等信息。
1.2 教师认证:管理员可以在此页面实现对教师申请的审批,并对申请信息做增删改查处理。 - 轮播图管理:管理员可在此功能页实现对轮播图的增删改查处理。不同的轮播图可以设置对应不同的功能页面,用户点击该图片后即可跳转到管理员设置好的页面去。
- 统计分析
3.1 问答统计:管理员在此页面,可看到对系统内所有问答的统计条形图。
3.2 用户统计:管理员在此页面,可看到对系统用户的类型统计饼图。 - 资料管理:管理员在此可以实现对系统资料的增删改查和审核。
- 问答管理:管理员在此可以查看问题状态和解决状态。并实现对系统问题的增删改查和审核。
- 反馈管理:管理员可以实现对反馈信息的删、改、查,并处理反馈信息。
- 举报管理:在此页面可对举报信息进行搜索、查看、删除、处理。
- 兑换管理
8.1 订单列表:这里展现系统内所有的兑换订单,并实现订单发货,以及搜索、删除等操作。
8.2 兑换物品管理:管理员在此页面可以实现对兑换物品的增删改查。 - 管理员管理:管理员在此页面,可以实现对管理员用户的增删改查,并设置管理员的角色状态和账号状态。
3,技术栈
后端技术
技术 | 说明 | 官网 |
---|---|---|
SpringBoot | Web应用开发框架 | https://spring.io/projects/spring-boot |
SpringSecurity | 认证和授权框架 | https://spring.io/projects/spring-security |
MyBatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html |
MyBatisGenerator | 数据层代码生成器 | http://www.mybatis.org/generator/index.html |
Druid | 数据库连接池 | https://github.com/alibaba/druid |
JWT | JWT登录支持 | https://github.com/jwtk/jjwt |
Lombok | Java语言增强库 | https://github.com/rzwitserloot/lombok |
PageHelper | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper |
前端技术
技术 | 说明 | 官网 |
---|---|---|
Thymeleaf | 现代的服务器端Java模板引擎 | https://www.thymeleaf.org/ |
Bootstrap | CSS/HTML框架 | https://www.bootcss.com/ |
Swiper | 特效插件 | https://www.swiper.com.cn/ |
Element | 前端UI框架 | https://element.eleme.io |
Axios | 前端HTTP框架 | https://github.com/axios/axios |
Chart.js | 图表工具 | https://chartjs.cn/ 📣 有源码 获取源码 |
AdminLTE | 管理模板 | https://adminlte.io/ |
4,系统设计
4.1 业务用例
超级管理员拥有对所有菜单的访问权限,进行一系列的管理操作。而普通员工只能进行查看和修改个人信息,以及修改密码,请假。另外超级管理员可以为普通员工分配一些角色,进而改变员工的访问权限。
4.2 功能结构
教师,学生功能结构
管理员功能结构
5,系统页面展示(用户端)
5.1 登录注册
5.2 首页
首页基本包含了系统内的亮点功能,包括向教师和学霸提问,热门的资料和提问。
5.3 知名师资
学生可向老师提问或查看教师资料
学生可向学霸提问或查看学霸资料
5.4 教师认证
教师用户需要完成教师认证后才可获得曝光量,从而回答问题获得积分
教师用户需要上传身份证和教师资格证才可完成教师认证
用户可随时查看教师认证进度
5.5 有问有答
用户可以发布免费问题供人们解决,也可以用积分悬赏其他用户来回答问题
-
搜索问题
-
全部问题
- 积分悬赏
5.6 问题详情
5.7 我要提问
5.8 我的提问
5.9 资料专区
5.9.1 搜索资料
5.9.2 所有资料
5.9.3 资料详情
5.9.4 上传资料
5.9.5 我的记录
用户可在我的记录中查看我的上传、我的下载和积分明细
5.9.6 下载内容评价
5.10 积分兑换
5.10.1 兑换专区
用户可在此处查看可以兑换的商品
5.10.2 兑换商品详情
选择收货地址
5.10.3 我的兑换
5.11 意见反馈
5.12个人中心
5.12.1 修改个人信息
5.12.2 我的兑换
5.12.3 我的地址
6,系统页面展示(后台管理端)
6.1 首页
6.2 用户列表
6.2.1 修改用户状态
管理员可直接点击色块快捷修改用户状态
6.3 教师认证
6.3.1 审批教师申请
6.4 轮播图管理
添加轮播图
编辑
6.5 问答统计
6.6 用户统计
6.7 资料管理
6.7.1 资料详情
操作中的按钮功能为:删除、查看详情、下载
审核资料
6.8 问答管理
6.8.1 问题详情
6.9 反馈管理
6.9.1 反馈详情
6.9.2 反馈处理
6.10 举报管理
6.10.1 处理举报
6.11 兑换管理
6.11.1 发货
6.11.2 兑换物品管理
6.11.3 添加物品
6.12 管理员管理
6.12.1 添加管理员
6.12.2 修改管理员
停用管理员账号