基于SpringBoot和Vue开发的高校心理咨询系统
一、项目概述
1.1 项目简介
本心理咨询系统采用前后端分离架构,后端使用 SpringBoot 框架,前端基于 Vue 开发。系统面向高校师生设计,整合心理健康测评、心理医生线上预约、学生职业规划、校园社团招新、心理数据分析等综合功能。
系统分为前台学生门户和后台管理系统两大模块:学生可以在线完成心理测试、预约心理咨询师、查看社团招新信息、编辑个人职业规划;管理员统一维护试题、心理医生、社团信息、预约记录、学生数据,实现校园心理健康数字化管理。
1.2 开发技术栈
后端技术
核心框架:SpringBoot 2.x
持久层框架:MyBatis / MyBatis-Plus
数据库:MySQL 5.7/8.0
身份认证:JWT Token
文件处理:图片上传存储
项目构建:Maven
前端技术
核心框架:Vue2 / Vue3
UI 组件库:Element UI / Element Plus
网络请求:Axios
路由管理:Vue Router
富文本编辑器:WangEditor(职业规划编辑)
技术支持:HTML、CSS、JavaScript
1.3 系统角色划分
学生用户
注册账号、登录前台;浏览首页、心理医生、社团招新;完成心理试卷测评;查看心理测评数据分析;预约心理医生;进入个人中心编辑职业规划。心理医生
账号注册登录,接收学生预约咨询订单,处理预约审核。辅导员
注册账号,协助开展学生心理健康管理工作。超级管理员(admin)
登录后台管理系统,拥有全部权限;管理学生、心理医生、辅导员账号;维护试题、试卷、社团招新、轮播图、预约记录、职业规划数据。
二、系统功能模块设计
2.1 前台学生门户模块
2.1.1 登录与注册模块
用户登录:学生、医生、辅导员输入账号密码登录,支持记住密码;
账号注册:区分注册学生、注册心理医生、注册辅导员三种注册入口;
登录鉴权:未登录用户无法使用预约、心理测试、个人中心功能。
2.1.2 首页模块
顶部导航栏:首页、社团招新、试卷列表、信息、数据分析、心理医生、个人中心;
顶部轮播横幅展示;
心理医生卡片展示区域,预览医生头像、姓名、专业资质;支持点击查看全部医生。
2.1.3 心理医生模块
展示所有心理医生信息,学生可查看医生详情,发起心理咨询预约申请。
2.1.4 社团招新模块
展示校园各个社团信息,学生浏览社团介绍、社团图片、社团性质、负责人信息,支持提交社团加入申请。
2.1.5 试卷列表模块
展示全部心理测评试卷(如 SAS 焦虑量表),学生选择试卷在线作答,提交后生成测评分数。
2.1.6 数据分析模块
根据心理测试得分展示对应心理健康分段标准、症状说明;学生完成测试后,在此查看自身心理状态评估结果。
2.1.7 个人中心(职业规划)
提供职业规划编辑页面,包含规划编号、职业名称、职业类型、学号、学生姓名、规划时间;内置富文本编辑器,学生在线填写、保存职业规划内容。
2.2 后台管理系统模块(管理员 admin)
后台左侧菜单栏划分各大管理模块,支持数据新增、详情查看、修改、删除、条件检索:
考试管理
测试记录:查看所有学生心理测试答卷记录;
心理测试:管理心理测评分类(SAS 焦虑等);
试题管理:新增心理试题,设置试题题目、多选项、答案解析、排序;支持增删选择题选项;
试卷列表:管理测评试卷,维护试卷与试题关联。
用户管理
统一管理学生账号、心理医生账号、辅导员账号信息。社团招新管理
社团招新:维护社团基础信息(社团编号、名称、封面图片、社团性质、负责人、成立时间、人数);
加入申请:查看学生提交的社团入会申请,审核处理。
数据分析管理
维护心理测评分数区间、对应心理症状说明,配置前台数据分析页面展示内容。职业规划管理
查看、管理所有学生提交的职业规划文档。轮播图管理
维护前台首页顶部轮播横幅图片。预约医生管理
查看学生心理咨询预约订单;展示医生账号、医生信息、学生信息、预约时间、审核状态(待审核 / 通过);支持查看预约详情,处理预约审核。
三、数据库核心表设计
3.1 用户表 user
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键自增 |
| username | varchar | 登录账号 |
| password | varchar | 登录密码 |
| role | varchar | 角色:student/doctor/counselor/admin |
| name | varchar | 姓名 |
| phone | varchar | 联系电话 |
| create_time | datetime | 注册时间 |
3.2 心理医生表 psychologist
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键 |
| user_id | int | 关联用户 ID |
| gender | varchar | 性别 |
| qualification | varchar | 专业资质 |
| service_time | varchar | 服务时间 |
| avatar | varchar | 头像地址 |
3.3 心理测评表 test_type
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键 |
| test_name | varchar | 测评名称(SAS 焦虑) |
| score_desc | text | 分数分段说明(数据分析内容) |
3.4 试题表 question
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键 |
| test_id | int | 关联心理测评 ID |
| title | text | 试题题目 |
| options | text | 选择题选项 JSON 存储 |
| analysis | text | 答案解析 |
| sort | int | 排序号 |
3.5 学生测试记录表 test_record
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键 |
| student_id | int | 学生 ID |
| test_id | int | 测评 ID |
| score | int | 测试得分 |
| answer_content | text | 作答记录 |
| create_time | datetime | 测试时间 |
3.6 心理咨询预约表 reservation
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键 |
| doctor_id | int | 心理医生 ID |
| student_id | int | 学生 ID |
| reserve_time | datetime | 预约时间 |
| audit_status | varchar | 审核状态:待审核 / 通过 / 驳回 |
| audit_reply | text | 审核回复 |
3.7 社团信息表 club
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键 |
| club_no | varchar | 社团编号 |
| club_name | varchar | 社团名称 |
| img | varchar | 社团图片 |
| club_type | varchar | 社团性质 |
| leader | varchar | 负责人 |
| found_time | date | 成立时间 |
| member_count | int | 社团人数 |
3.8 社团入会申请表 club_apply
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键 |
| club_id | int | 社团 ID |
| student_id | int | 学生 ID |
| apply_time | datetime | 申请时间 |
| status | varchar | 审核状态 |
3.9 职业规划表 career_plan
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键 |
| plan_no | varchar | 规划编号 |
| career_name | varchar | 职业名称 |
| career_type | varchar | 职业类型 |
| student_id | int | 学生学号 |
| student_name | varchar | 学生姓名 |
| plan_time | datetime | 规划时间 |
| content | longtext | 规划内容(富文本 HTML) |
3.10 轮播图表 banner
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键 |
| img_url | varchar | 图片地址 |
| sort | int | 排序 |
四、系统页面功能说明
4.1 前台学生页面
前台登录页面
简约蓝色风格登录界面,支持账号密码登录,提供【注册心理医生】【注册辅导员】按钮入口。学生门户首页
顶部导航栏,首页轮播大图;下方展示心理医生卡片列表,显示医生姓名与专业资质,可查看全部医生。社团招新页面
展示校园社团信息,学生浏览社团图文资料,提交加入申请。试卷列表页面
展示全部心理测评量表,学生选择试卷进入答题。数据分析页面
展示 SAS 焦虑等测评对应的分数区间、心理健康症状说明,学生完成测试后在此查看评估结果。心理医生页面
全部心理医生列表,查看医生资料,发起预约申请。个人中心 - 职业规划编辑页
表单填写规划基础信息,搭载富文本编辑器,学生在线编写、保存职业规划文档。
4.2 后台管理页面(Admin)
后台主界面布局
左侧功能菜单栏,顶部标签页,主体数据表格;蓝色简约管理系统风格。试题管理模块
弹窗【新增试题】,选择所属心理测评、填写题目、动态添加多个选择题选项、录入解析、设置排序,提交保存试题。预约医生管理页面
分页展示所有学生预约记录;支持按医生账号、审核状态检索;列表展示医生信息、学生信息、预约时间、审核状态;提供详情操作按钮,管理员处理预约审核。社团招新管理页面
社团信息表格展示,支持新增、修改、删除、查看社团详情;支持社团编号条件搜索。其他管理页面
测试记录、学生管理、心理医生管理、辅导员管理、职业规划管理、轮播图管理,统一实现数据 CRUD 操作。
五、核心业务流程
5.1 学生心理测评流程
学生登录前台系统;
导航栏进入【试卷列表】,选择心理测评试卷(SAS 焦虑量表);
在线完成所有试题作答并提交;
系统自动计算总分;
学生进入【数据分析】页面,根据得分查看对应的心理健康分析结果。
5.2 心理咨询预约流程
学生登录,进入【心理医生】页面浏览咨询师;
选择目标医生,提交预约申请,填写预约时间;
管理员登录后台【预约医生】管理页面;
查看预约记录,审核预约(通过 / 驳回);
学生可查看预约审核结果。
5.3 学生职业规划编写流程
学生登录,点击导航栏【个人中心】;
填写规划编号、职业名称、职业类型等基础信息;
使用富文本编辑器录入职业规划正文;
点击保存,数据存入数据库;管理员后台可以查看所有学生职业规划。
5.4 管理员维护试题流程
admin 登录后台,进入【考试管理】→【试题管理】;
点击新增,选择对应的心理测评分类;
录入试题题干、添加选择题选项、填写解析、设置排序;
提交保存,试题自动关联到对应测评试卷,学生前台可见该题目。
六、系统特色功能
多角色权限体系:区分学生、心理医生、辅导员、超级管理员四类角色,权限隔离;
在线心理测评功能:支持选择题量表作答,自动计分,配套心理健康数据分析;
线上心理咨询预约审核流程:学生提交预约,管理员后台统一审核;
富文本职业规划编辑器:支持图文排版,方便学生撰写职业规划文档;
校园社团招新一体化:社团信息维护、学生入会申请管理;
前后端分离架构:SpringBoot+Vue 技术栈,接口与页面解耦,方便迭代;
文件上传功能:支持社团图片、医生头像、轮播图等图片上传存储;
多条件数据检索:后台全部列表支持关键词、状态筛选查询。
七、部署环境
7.1 开发环境
操作系统:Windows
JDK:JDK 1.8
数据库:MySQL 5.7 / MySQL8.0
Node.js:14.x 及以上
开发工具:IDEA、VSCode、Navicat
7.2 生产部署环境
服务器:Linux CentOS
Web 服务:SpringBoot 内置 Tomcat / Nginx
前端打包:
npm run build,静态资源部署 Nginx文件存储:服务器本地存储(可扩展阿里云 OSS)
八、系统扩展优化方向
增加在线即时聊天,实现学生与心理医生线上文字咨询;
增加测评报告 PDF 导出功能;
新增消息通知,预约审核结果、社团申请结果推送;
完善数据可视化图表,统计学生心理测试整体情况;
添加评论留言板块,学生可以对心理医生进行评价;
增加定时任务,清理长期未确认的过期预约订单。
九、项目总结
本心理咨询系统基于 SpringBoot+Vue 前后端分离技术开发,面向高校心理健康管理场景,整合心理测评、心理咨询预约、职业规划、社团招新多项业务。系统角色划分清晰,业务流程完整,代码结构规范,不仅满足学生心理健康自测、线上咨询需求,同时为管理员提供完整后台运维能力,适合作为设计项目。
十、项目资料
👇🏻 精彩专栏推荐订阅👇🏻 在下方专栏👇🏻不然下次找不到哟
《Java精品推荐项目》
《springboot+vue项目100套》
《ssm项目100套》
《微信小程序合集》