1. 项目背景与需求分析
现代人普遍面临的情绪管理难题,让我萌生了开发这个情绪宣泄平台的想法。去年团队里有个同事长期压抑情绪导致工作效率大幅下降,这件事让我意识到:传统情绪宣泄方式存在明显短板。找朋友倾诉可能涉及隐私顾虑,专业心理咨询又存在时间和经济成本问题。
基于Java技术栈的情绪宣泄平台能有效解决这些痛点。我选择Spring Boot作为后端框架,主要看中它以下几个优势:
- 快速开发:内嵌Tomcat和自动配置省去大量环境搭建时间
- 微服务友好:方便后期扩展心理咨询等专业服务模块
- 生态丰富:Spring Security、Spring Data等组件开箱即用
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 整体架构设计
采用经典的三层架构模式:
code复制前端(Vue.js) ↔ 后端(Spring Boot) ↔ 数据库(MySQL)
特别设计了双通道情绪数据同步机制:
- 实时通道:WebSocket推送紧急情绪预警
- 异步通道:RabbitMQ处理常规情绪记录
2.2 数据库设计
核心表结构经过三次迭代优化,最终方案包含:
sql复制CREATE TABLE `emotion_records` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`user_id` BIGINT NOT NULL,
`emotion_type` ENUM('anger','sadness','anxiety','joy') NOT NULL,
`intensity` TINYINT CHECK (intensity BETWEEN 1 AND 10),
`content` TEXT,
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX `idx_user_emotion` (`user_id`, `emotion_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
关键设计点:使用ENUM限定情绪类型,TINYINT配合CHECK约束确保强度值合法,utf8mb4编码支持emoji表情
