# 情绪博物馆 (Emotion Museum) 情绪博物馆是一款基于AI技术的心理健康应用,通过智能对话、情绪分析、个性化成长方案等功能,帮助用户建立健康的情绪管理习惯。 ## 📋 项目概述 ### 🎯 产品定位 情绪博物馆致力于为用户提供一个安全、私密的情绪表达空间,通过AI技术提供24/7的情绪陪伴与支持,帮助用户更好地理解和管理自己的情绪。 ### 🚀 核心价值 - **情绪陪伴**: AI驱动的智能对话系统,提供全天候情绪支持 - **个性化成长**: 基于用户数据的个性化心理成长路径 - **社区分享**: 安全的情绪表达和经验分享社区 - **数据洞察**: 情绪数据可视化,帮助用户了解自己 ## 🏗️ 技术架构 ### 整体架构 情绪博物馆采用现代化的前后端分离架构,包含iOS移动端、Web端和后端微服务系统。服务IP:101.200.208.45 ``` ┌─────────────────────────────────────────────────────────────┐ │ iOS 移动端 (SwiftUI) │ ├─────────────────────────────────────────────────────────────┤ │ Web 前端 (Vue3 + TS) │ ├─────────────────────────────────────────────────────────────┤ │ API 网关 (Spring Cloud Gateway) │ ├─────────────────────────────────────────────────────────────┤ │ 用户服务 │ AI服务 │ 记录服务 │ 成长服务 │ 探索服务 │ ├─────────────────────────────────────────────────────────────┤ │ 公共组件 & 基础设施 │ │ Nacos配置中心 │ MySQL数据库 │ Redis缓存 │ 日志系统 │ └─────────────────────────────────────────────────────────────┘ ``` ### 技术栈 #### 后端技术栈 - **微服务框架**: Spring Cloud Alibaba 2022.0.0.0 - **核心框架**: Spring Boot 3.0.2 - **服务注册发现**: Nacos 2.2.0+ - **数据库**: MySQL 8.0+ - **缓存**: Redis 7.0+ - **AI服务**: Coze API (GPT-4) - **WebSocket**: Spring WebSocket - **构建工具**: Maven 3.6+ #### 前端技术栈 - **Web端**: Vue 3.4.21 + TypeScript 5.4.2 + Vite 5.1.6 - **管理后台**: Vue 3.4.0 + TypeScript 5.3.3 + Element Plus 2.4.4 - **移动端**: SwiftUI (iOS原生) - **UI框架**: Element Plus 2.6.1 + Tailwind CSS 3.4.1 - **状态管理**: Pinia 2.1.7 - **实时通信**: STOMP + 原生WebSocket - **数据可视化**: ECharts 5.5.0 - **构建工具**: Vite 5.1.6 ## 📁 项目结构 ``` . ├── UniApp/ # UniApp跨平台移动应用 ├── backend/ # 后端微服务系统 │ ├── emotion-gateway/ # API网关服务 │ ├── emotion-user/ # 用户服务 │ ├── emotion-ai/ # AI对话服务 │ ├── emotion-record/ # 情绪记录服务 │ ├── emotion-growth/ # 成长课题服务 │ ├── emotion-explore/ # 地图探索服务 │ ├── emotion-reward/ # 成就奖励服务 │ ├── emotion-stats/ # 统计分析服务 │ └── emotion-common/ # 公共模块 ├── backend-single/ # SpringBoot单体后端服务 ├── web/ # 旧版Web前端 ├── web-new/ # 新版Web前端(Vue3+TS) └── 开心APP网页代码v1.1/ # 早期网页版本 ``` ## 🚀 快速开始 ### 后端微服务部署 #### 环境要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ - Redis 7.0+ - Nacos 2.2.0+ #### 启动步骤 1. 启动Nacos配置中心 2. 创建MySQL数据库并导入数据结构 3. 启动Redis服务 4. 配置Nacos命名空间和配置文件 5. 启动各微服务模块 ```bash # 启动所有服务 cd backend ./start-services.sh # 停止所有服务 ./stop-services.sh ``` ### Web前端部署 #### 环境要求 - Node.js 18+ - npm 9+ #### 用户前端 (web) ```bash # 进入前端目录 cd web # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build # 部署到服务器 bash deploy.sh ``` #### 管理后台 (web-admin) ```bash # 进入管理后台目录 cd web-admin # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build # 部署到服务器 bash deploy.sh ``` ### 一键部署 ```bash # 部署所有服务(后端 + 前端 + 管理后台) bash deploy-all.sh # 部署指定服务 bash deploy-all.sh backend # 仅部署后端 bash deploy-all.sh frontend # 仅部署前端 bash deploy-all.sh admin # 仅部署管理后台 ``` ## 📊 核心功能模块 ### 1. 记录模块 **定位**: 情绪主页 + AI对话入口 - 智能对话系统(支持语音、文字、图片输入) - 情绪日历(情绪记录与回顾) - 对话记录管理(自动保存、分类、搜索) ### 2. 治愈模块 **定位**: 个人成长档案 + 课题系统 - 智能情绪洞察(基于对话内容的情绪分析) - 成长课题系统(个性化成长任务推荐) - 用户画像建模(五维能力评估模型) - 互动奖励(积分、称号、皮肤) ### 3. 探索模块 **定位**: 情绪地图 + 社区分享 - 智能地图推荐(基于情绪状态推荐地点) - 社区笔记系统(图文分享、点赞评论) - 位置服务集成(地理定位、周边推荐) ### 4. 个人模块 **定位**: 用户信息 + 成就系统 - 用户资料管理 - 成就面板(数据统计展示) - 邀请模块(好友邀请和奖励) - 设置中心(应用配置和隐私设置) ## 🔧 开发指南 ### 后端开发 1. 使用Spring Cloud Alibaba微服务架构 2. 遵循RESTful API设计规范 3. 使用MyBatis-Plus进行数据访问 4. 集成Nacos进行配置管理 5. 使用Spring Security进行安全控制 ### 前端开发 1. 使用Vue 3 Composition API 2. 遵循TypeScript编码规范 3. 使用Element Plus组件库 4. 集成Tailwind CSS样式框架 5. 使用Pinia进行状态管理 ## 🌐 访问地址 ### 生产环境 (HTTPS 已启用) - **用户前端**: https://lifescript.happylifeos.com/emotion-museum/ - **管理后台**: https://lifescript.happylifeos.com/emotion-museum-admin/ - **课程页面**: https://lifescript.happylifeos.com/course-of-life/ - **后端 API**: https://lifescript.happylifeos.com/api/ - **WebSocket**: wss://lifescript.happylifeos.com/ws - **健康检查**: https://lifescript.happylifeos.com/health **SSL 证书信息**: - 证书有效期:2026-03-18 至 2026-06-16 - 自动续期:已配置(每天凌晨 2 点自动检查) - 证书颁发机构:Let's Encrypt ### 开发环境 (本地) - **用户前端**: http://localhost:5173 - **管理后台**: http://localhost:5174 - **后端 API**: http://localhost:19089/api - **WebSocket**: ws://localhost:19089/ws ## 🧪 测试策略 ### 后端测试 - 单元测试覆盖率 > 80% - 集成测试覆盖核心业务流程 - API测试验证接口正确性 - 性能测试确保系统稳定性 ### 前端测试 - 组件单元测试 (Vitest) - 端到端测试 (Cypress) - 跨浏览器兼容性测试 - 移动端响应式测试 ## 📈 部署与监控 ### 部署方式 - Docker容器化部署 - Kubernetes集群部署 - CI/CD自动化部署 ### 监控体系 - 健康检查端点 - Prometheus指标收集 - Grafana可视化监控 - 日志收集与分析 ## 🤝 贡献指南 我们欢迎任何形式的贡献! 1. Fork项目 2. 创建功能分支 3. 提交代码更改 4. 编写测试用例 5. 提交Pull Request ## 📄 许可证 本项目采用MIT许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 📞 联系我们 如有任何问题或建议,请通过以下方式联系我们: - 邮箱: [请填写邮箱地址] - GitHub Issues: [项目Issues页面] --- *情绪博物馆 - 让每一种情绪都被温柔以待*