两个多月捣鼓了一个健康类小程序
✨文章摘要(AI生成)
笔者在两个月的时间里成功开发了一个以心理健康为主题的小程序,主要功能已完成,虽然仍有待改进,但整体体验令人满意。项目旨在通过“互联网+心理健康”的方式,解决青少年面临的心理健康问题,特别是普及、发现和解决三大痛点。小程序的创新之处在于通过朋友间互相填写问卷的方式,结合自身与他人的评价,帮助用户更好地认识自己的心理状态。
在技术实现上,笔者采用了现代化的前后端技术栈,包括 Vue.js、Nest.js 等,此外还引入了 AI 智能问答功能,形成发现与解决问题的闭环。尽管项目仍处于迭代阶段,笔者对未来的商业化和功能扩展充满期待,计划引入更多的心理咨询资源和社交功能,以提升用户体验和价值。
前言
我的心理健康小程序终于完工了🎉🎉🎉,至少主要功能基本做完了,瑕疵肯定还有,不过就后面有机会再慢慢迭代吧。
从项目开题到现在,已经两月有余,从需求文档到后端技术文档,再到 UI 设计稿以及前端技术文档,虽然文档很多地方都不规范,但好在是自己一个人看,就没有在意一些文档上的细节,只要自己以后能看懂就行了。
做这个项目更多也是以学习为主,所以采用了许多以前可能经常在别人文章上看到的但没有真正尝试过的有意思的技术,但整个项目开发下来体验是拉满的,完全满足了我的好奇心或者说是探索欲。
在开发过程中,也顺便写了几篇实践性的文章,当然由于挺忙的(挺懒的😅),所以更多也只是贴了下代码,没有细细道来,如下是在项目开发过程中写的几篇文章,感兴趣的可以瞧瞧:
- 前端自给自足 UI 设计稿?(Midjourney+MasterGo)
- 小程序(uniapp)上传头像至 OSS(阿里云)--保姆级
- 我终于会用 Docker 了(nest+prisma+psotgresql+nginx+https)
- Vue3+TS(uniapp)手撸一个聊天页面
- Nest 如何实现带身份验证的 GraphQL 订阅 Subscription
- 试下微调 GPT-3 做一个心理问答机器人
- Nest 的 test 中的 best 是 Jest 框架
回到这里,下面开始介绍我做的这个项目。
背景简述
无论是随时间出现的互联网、新冠疫情、短视频、网络社交媒体,还是长期以往存在的如高考、宿舍氛围、人际交往、就业压力等都无时无刻考验着青少年的心理健康,据相关研究表明,出现心理健康问题的青少年不在少数,并且一些心智成熟的成年人同样也面临着心理健康问题的煎熬。
心理健康问题危害极大,国家高度重视,出台了相关政策完善心理健康体系。
但目前的情况仍然有 3 个痛点。分别是普及难、发现难、解决难。而“互联网+心理健康系统”被多篇论文及文章指出是解决心理健康问题的重要途径之一。
- 痛点 1:如何普及心理健康教育,让每一位家长、老师、学生自己都重视起来。当所有人都能正视并重视心理健康教育的时候,这个问题就能迎刃而解。目前普遍存在的问题就是父母家长教育水平偏低,不够重视心理健康教育,更加关注孩子的学业、就业情况,忽略其本身的发展。学校虽然响应国家政策,实施了一系列活动,如心理班会,心理测评、心理咨询等,但总归趣味性较低,学生参与感较少,积极度不高,即效果较差。让每一个人都重视心理健康教育是一条漫长的道路,需要坚持,不过我们仍然可以通过发现+解决的途径来加强心理健康教育,但由此又引入了痛点 2 和痛点 3 两个新的问题。
- 痛点 2:如何发现心理健康问题。学生在填写相关心理调查问卷等时,填写时可能具有片面性和欺骗性。片面性是指由于学生本身缺少相关的心理专业知识,一些心理有问题的学生对于自身的真实情况了解程度也不高,误认为自己心理并没有任何问题;欺骗性本质上也是学生并不重视这方面的调查,认为填写它并不能帮助自己,或者以为自身最近出现的问题是暂时的,并且担心其他人知道自己“有病”,所以填写的结果也就敷衍了事,往好的方向填写。最终调查结果虽然令人满意,但学生的真实问题并没有被发现。
- 痛点 3:解决心理健康问题。优质心理健康咨询资源不足,部分落后地区甚至根本无法享受到对应的心理健康咨询资源。心理咨询师通常需要较强的专业能力,丰富的阅历与人生经验,厚积而薄发,培养一个优秀的(能解决问题的)心理咨询师成本较高,即优秀的心理咨询师资源缺乏;并且在心理咨询过程中,可能会出现线下尴尬的情况,过度暴露隐私的情况。目前对于已经发现存在心理问题的学生,大多数是沟通能力并不突出,甚至并不愿意沟通交流,所以在对其进行心理辅导时,难以了解真实情况从而对症下药,整个心理辅导过程难以开展。
创新点简述
针对如上 3 个痛点,笔者开发的产品以换位思考为主要创新,能在一定程度上解决这几个痛点。
总的来说:
- 笔者开发的小程序是一个基于朋友之间相互填写问卷的理念,
- 并通过计算其相似度和性格倾向雷达图及时反馈给用户自己,
- 最后提供一系列后续心理服务帮助用户解决自身可能存在的问题。
具体来说,当一位用户给自己填写了一份心理问卷之后,他可以将这份问卷分享给好友,而好友则以该名用户的视角填写这份问卷,即通过了自身评价与他人评价相结合的手段判断该名用户是否可能产生了一定的心理健康问题。
在此基础上,我们添加了如他人与自身评价最相似的排行榜,以及性格倾向雷达图等可视化手段及时反馈,增加用户填写问卷的自愿性。
最后,结合现在 AI 热的特点,笔者又在最后增加了"心理问题智能问答"的 AI 咨询功能,以形成发现问题=>解决问题的功能闭环。
并且,有心理问题的人可能并不愿意与真人进行交流,所以 AI 咨询有能起很多作用。
技术栈描述
前端技术栈
后端技术栈
智能问答
- GPT-3-Turbo(API)
最近笔者也学习了吴恩达的提示工程师课程,做了一些笔记,感兴趣的可以查看如下链接:
致谢
非常感谢对应开源框架及社区的贡献,让我使用起来如此方便🎉🎉🎉
功能及页面演示
1)四个 Tab 页展示
2)用户登录演示
3)用户主要信息修改演示
4)用户扩展信息修改演示
5)问卷填写演示
6)问卷分享演示
7)问卷可视化演示
8)排行榜功能演示
9)智能客服演示
10)心理问答演示
开源相关
这是我今年的毕业设计,所以目前仅开源了前端的部分分支,后端暂不开源,后续等毕业设计答辩结束后可能会整理并开源,前端代码也没有怎么整理(太懒了😂),感兴趣的可以瞧瞧:
需要注意的是,开源协议为 GPL,因为这也不是什么轮子,确确实实是一个产品
在这里,你应该可以参考到如下的解决方案:
- 如何在 uniapp 中使用 villus(graphql)
- uniapp 中 JWT 双 token 刷新的解决方案
- 微信小程序头像上传 OSS 实现方案
- 如何手写一个聊天页面
- 各种技术栈(Vue\uniapp\villus......)的使用
当然,我也在"代码能跑"与"代码漂亮"之间尽量做平衡,肯定会有部分有问题的地方🥲
体验
由于 GPT 的接口确实是"一字千金",线上正式版本还没有心理问答功能,只有体验版有,感兴趣的可以私聊我,将你加入体验名额。并且,笔者暂时没有考虑商业化,微信支付接口接入也比较麻烦(要有营业执照去申请),所以该功能可能不会正式上线,上线了也会商业化。
然后,希望不要有 BUG 吧,我好懒得修啊😆,也烦请别做压测和恶意攻击!
最后(总结与展望)
该小程序以换位思考填写问卷为主要创新点,结合“互联网+心理健康+AI”形成该产品。
后期如果继续做下去,有非常多的方向进行发展,并且商业化也不是不可能,比如刚才提到的心理问答进行付费,还比如:
- 提供付费问卷测评填写(毕竟需要请心理方面专家来设计问卷)
- 轻社区,没啥说的,就简化的知乎
- 心理专家入驻,让用户既可以选择 AI 咨询,也可以选择专家咨询
- 广告等等常规手段