1. 项目背景与核心价值
青少年心理健康问题近年来受到广泛关注,但专业咨询资源分布不均、隐私顾虑等因素导致许多孩子无法及时获得帮助。这个项目正是为了解决这一社会痛点——通过技术手段搭建一个安全、便捷的在线心理健康服务平台。
为什么选择SpringBoot+Vue这个技术栈?从我的实际开发经验来看,这种前后端分离架构特别适合此类需要快速迭代、多端适配的互联网应用。后端用SpringBoot可以快速构建稳定的RESTful API,而Vue的组件化开发模式则能灵活应对不同终端(Web、小程序等)的界面需求。
平台的核心用户是12-18岁的青少年群体,他们需要:
- 匿名化的心理咨询渠道
- 科学的心理自评工具
- 同龄人交流的社区空间
- 专业资源的精准匹配
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 技术栈选型解析
后端技术矩阵:
- SpringBoot 2.7 + MyBatis Plus:快速构建RESTful接口
- Redis:缓存热点数据(如心理测试题库)
- Elasticsearch:实现咨询师智能推荐
- MinIO:存储心理测评报告等文件
- WebSocket:实时消息通知
前端技术方案:
- Vue 3 + TypeScript:主应用框架
- Pinia:状态管理
- Element Plus:基础UI组件库
- ECharts:数据可视化(心理状态趋势图)
- 特别优化:采用rem适配方案,确保在手机端良好显示
技术选型心得:曾考虑过React+Node.js方案,但考虑到国内Vue生态更成熟、SpringBoot在事务管理上的优势,最终选择了当前技术组合。实际开发中,这种搭配在团队协作和后期维护上确实更高效。
2.2 微服务拆分策略
根据业务域划分为四个微服务:
- 用户服务(账号体系+权限管理)
- 测评服务(心理量表管理+测评引擎)
- 咨询业务(预约系统+即时通讯)
- 内容服务(科普文章+社区动态)
每个服务独立数据库,通过Nacos实现服务发现。特别要注意的是咨询业务的会话数据需要持久化到MongoDB,这是考虑到聊天记录的非结构化特性。
3. 核心功能实现细节
3.1 匿名咨询系统
关键技术实现:
- 双重ID体系设计:
- 对外
