✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取项目下载方式🍅
一、项目背景介绍:
该系统由三个核心角色组成:管理员、心理医生和用户。系统采用网页和小程序的混合形式来布局整体结构。管理员的主要职责是管理心理医生和用户的账户。心理医生可以上传题库,并基于这些题库创建心理测试试卷,进一步定义试题的规则,以便用户进行测试。用户通过小程序访问可见的试卷并完成相应的测试。此外,用户可以在论坛(贴吧)上发布帖子,与其他人交流心得,并且能与心理医生进行实时聊天,以便及时获得专业的心理咨询或帮助。
二、项目技术简介:
- JAVA:Java是一门面向对象编程语言 ,不仅吸收了C++语言的各种优点 ,还摒弃了C++里难以理解的多继承、指针 等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
- Vue:Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助开发者高效地开发用户界面。
Vue是一个独立的社区驱动的项目,它是由尤雨溪在2014年作为其个人项目创建, 是一个成熟的、经历了无数实战考验的框架,它是目前生产环境中使用最广泛的JavaScript框架之一,可以轻松处理大多数web应用的场景,并且几乎不需要手动优化,并且Vue完全有能力处理大规模的应用。 - Element-UI:Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。
- SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
- Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。
- smart:微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或搜一下即可打开应用。
全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。微信小程序、微信订阅号、微信服务号、微信企业号是并行的体系。
微信小程序是一种不用下载就能使用的应用,也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发,与我们一起共同发力推动微信小程序的发展,微信小程序应用数量超过了一百万,覆盖200多个细分的行业,日活用户达到两个亿,微信小程序还在许多城市实现了支持地铁、公交服务。微信小程序发展带来更多的就业机会,2017年小程序带动就业104万人,社会效应不断提升。
三、系统功能模块介绍:
四、数据库设计:
1:'贴吧评论表'(comments)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 贴吧编号 |
from_stu_id | bigint | NULL | 评论学生编号 |
content | text | NULL | 评论内容 |
to_stu_id | bigint | NULL | 回复人编号 |
parent_id | bigint | NULL | 父级评论编号 |
img_list | text | NULL | 图片列表 |
create_time | datetime | NULL | 评论时间 |
type | int | NULL | 类型 |
2:likes(likes)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 主键ID |
user_id | bigint | NULL | 用户ID |
common_id | bigint | NULL | 评论ID |
create_time | datetime | NULL | 创建时间 |
3:'管理员表'(manage)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 管理员编号 |
user_name | varchar | NULL | 用户名 |
pass_word | varchar | NULL | 密码 |
photo_img | varchar | NULL | 图片 |
name | varchar | NULL | 名称 |
4:message(message)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 消息ID |
send_user_id | bigint | NULL | 发送用户ID |
accept_user_id | bigint | NULL | 发送用户ID |
create_time | datetime | NULL | 创建时间 |
5:message_info(message_info)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 消息详情ID |
info | text | NULL | 内容 |
message_id | bigint | NULL | 聊天ID |
position | varchar | NULL | 左边右边 |
send_user_id | bigint | NULL | 发送用户ID |
accept_user_id | bigint | NULL | 发送用户ID |
create_time | datetime | NULL | 创建时间 |
6:'题目表'(questions)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 题目编号 |
title | text | NULL | 题目标题 |
option_a | varchar | NULL | 选项A |
option_b | varchar | NULL | 选项B |
option_c | varchar | NULL | 选项C |
option_d | varchar | NULL | 选项D |
grade_a | varchar | NULL | 答案A分数 |
grade_b | varchar | NULL | 答案B分数 |
teacher_id | bigint | NULL | 老师编号 |
create_time | datetime | NULL | 创建时间 |
grade_c | varchar | NULL | 答案C分数 |
grade_d | varchar | NULL | 答案D分数 |
7:'建档信息'(records)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 档案编号 |
stu_id | bigint | NULL | 学生编号 |
test_id | bigint | NULL | 试卷编号 |
tea_id | bigint | NULL | 教师编号 |
grade | varchar | NULL | 考试分数 |
create_time | datetime | NULL | 创建时间 |
info | varchar | NULL | 对应结果 |
8:'学生表'(student)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 学生编号 |
stu_name | varchar | NULL | 学生姓名 |
stu_age | int | NULL | 年龄 |
stu_sex | int | NULL | 性别[0:男,1:女] |
stu_phone | varchar | NULL | 联系方式 |
stu_address | varchar | NULL | 家庭住址 |
stu_class_num | varchar | NULL | 所属班级 |
stu_img | varchar | NULL | 照片 |
password | varchar | NULL | 登录密码 |
username | varchar | NULL | 登录用户名 |
9:'老师'(teachers)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 教师编号 |
username | varchar | NULL | 账号 |
password | varchar | NULL | 密码 |
tea_name | varchar | NULL | 姓名 |
tea_age | int | NULL | 年龄 |
tea_sex | int | NULL | 性别 |
tea_info | text | NULL | 简介 |
tea_tel | varchar | NULL | 联系方式 |
tea_img | varchar | NULL | 头像 |
create_time | datetime | NULL | 创建时间 |
varchar | NULL | 邮箱 |
10:'试卷管理'(test_paper)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 试卷编号 |
tea_id | bigint | NULL | 所属老师 |
title | varchar | NULL | 试卷标题 |
img | varchar | NULL | 封面图片 |
create_time | datetime | NULL | 创建时间 |
total_grade | varchar | NULL | 总分 |
info | varchar | NULL | 试卷简介 |
11:'试卷题目'(test_questions)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 主键ID |
test_id | bigint | NULL | 所属试卷 |
question_id | bigint | NULL | 题目编号 |
tea_id | bigint | NULL | 老师编号 |
12:'试卷规则管理'(test_rules)
字段名 | 类型 | 默认值 | 列注释 |
---|---|---|---|
id | bigint | NULL | 规则编号 |
test_id | bigint | NULL | 试卷编号 |
min_grade | int | NULL | 最低分数 |
max_grade | int | NULL | 最高分数 |
info | varchar | NULL | 对应结果 |
create_time | datetime | NULL | 创建时间 |
tea_id | bigint | NULL | 老师编号 |
五、功能模块:
-
小程序用户登录注册:新老用户登录注册
-
心理试卷:查看所有的测试试卷列表
-
心理测试:进行心理测试,得到分数
-
心理医生实时交流:和医生进行聊天交流
-
贴吧:发帖以及评论等
-
医生后台管理:进行试卷试题规则管理
六、代码示例:
java
@PostMapping(value = "/saveGrade")
public ReturnMsg saveGrade(@RequestBody RecordsDTO recordsDTO) {
// 拿到规则
LambdaQueryWrapper<TestRulesDTO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TestRulesDTO::getTestId, recordsDTO.getTestId());
List<TestRulesDTO> serviceList = testRulesService.list(queryWrapper);
if (CollectionUtil.isEmpty(serviceList)) {
return ReturnMsg.ok("您的得分为:" + recordsDTO.getGrade());
}
String title = "";
String teacherTitle = "";
StudentDTO stu = studentService.getById(recordsDTO.getStuId());
TeachersDTO teachersDTO = teachersService.getById(recordsDTO.getTeaId());
for (TestRulesDTO testRulesDTO : serviceList) {
if (Integer.parseInt(recordsDTO.getGrade()) >= testRulesDTO.getMinGrade() && Integer.parseInt(recordsDTO.getGrade()) < testRulesDTO.getMaxGrade()) {
title = "您的得分为:" + recordsDTO.getGrade() + ";心理老师给您的反馈为:" + testRulesDTO.getInfo();
teacherTitle = "系统提醒,学生:" + stu.getStuName() + "完成心理测评,分数为:" + recordsDTO.getGrade() + ",试卷分数响应结果为:" + testRulesDTO.getInfo() + ",请您注意即时处理!";
break;
}
}
recordsDTO.setCreateTime(new Date());
recordsDTO.setInfo(title);
baseService.save(recordsDTO);
// 邮件发送
String finalTeacherTitle = teacherTitle;
new Thread(() -> {
mailUtil.sendSimpleMail(teachersDTO.getMail(), "学生测评消息提醒", finalTeacherTitle);
}).start();
return ReturnMsg.ok(title);
}
七、项目总结:
之前在教材内容读书过程中开发设计技术专业知识,对研究过程的认知,对开发设计设计课程学习,及其如何有效开展系统的市场分析和设计。老师还选了更具有标志性管理方案系统来解读教学过程,课下安排工作使们进行练习。在这段时间,老师还应当掌握系统地完成和测试。应对餐厅点餐管理系统的开发,的脑海里的确有一个清晰的认知。在系统制做及配套文本文件撰写中,按照软件开发流程一步步做好本职工作。
从系统的角度看,依据餐厅点餐管理系统生产,其艰难在于功能清楚、系统构造设计、设计使用性能数据库系统、挑选核心技术进行系统功能等,这种都是自己的难题。针对这一艰难,实行了一些防范措施。当也不知道系统的功能时,在网上找到很多相似的系统,做好记录了一些系统的一般功能,并用了这一系统的高效功能的一部分。除此之外,在在网络上得到了很多关于系统设计的前提知识,包含系统模块划分、设计规范、数据库表的设计和创建,及其程序流程编码的专业技能知识,包含撰写与使用数据和信息加上、删掉和变更编码控制器。在系统序号进行相关功能后,认真的试了系统中所有功能,最后发现自己研发的系统符合规定,能接受。系统功能与系统剖析设计高度一致,系统质量稳定。为应对客户的实际操作不正确,还设有不恰当反馈机制,系统性能稳定。唯一的最大的缺点是系统数据报表的设计不健全,字段名称相匹配的引用类型不正确,一部分系统编码很多地方并没有注解,编码不足简易。
从文本文件的角度看,依据基于JAVA+SpringBoot+Vue+uniApp小程序的心理健康测试平台生产后,应叙述生产过程的需求,包含怎样进行数据分析报告、怎样进行系统设计及其系统功能的具体运作实际效果。在这期间,用了接近一个月的时间来做。要实现院校标准化的文档排版标准,多次在老师的建议下学习办公软件使用和排版设计设计。坚持就是收益。经过长时间的的撰写和优化,的文档终于完成。
总而言之,尽管制做经历了太多阶段,但如果认真完成这件事情,们将在每一个环节得到许多知识,在每一个环节的操作过程中锻练们自己的实践技能。根据该项目的制做,开始明白,许多知识不但来源于书籍,来源于教师在课堂教学中讲的知识,还来源于各种网络学习平台和社会实践。到现在为止,将继续努力,维持新知识的深入学习习惯性
八、源码获取:
大家点赞、收藏、关注、评论 啦 、查看 👇🏻👇🏻👇🏻获取项目下载链接,博主联系方式👇🏻👇🏻👇🏻
链接点击直达:下载链接