Files
happy-life-star/README.md
T

273 lines
8.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 情绪博物馆 (Emotion Museum)
情绪博物馆是一款基于AI技术的心理健康应用,通过智能对话、情绪分析、个性化成长方案等功能,帮助用户建立健康的情绪管理习惯。
## 📋 项目概述
### 🎯 产品定位
情绪博物馆致力于为用户提供一个安全、私密的情绪表达空间,通过AI技术提供24/7的情绪陪伴与支持,帮助用户更好地理解和管理自己的情绪。
### 🚀 核心价值
- **情绪陪伴**: AI驱动的智能对话系统,提供全天候情绪支持
- **个性化成长**: 基于用户数据的个性化心理成长路径
- **社区分享**: 安全的情绪表达和经验分享社区
- **数据洞察**: 情绪数据可视化,帮助用户了解自己
## 🏗️ 技术架构
### 整体架构
情绪博物馆采用现代化的前后端分离架构,包含iOS移动端、Web端和后端微服务系统。服务IP101.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页面]
---
*情绪博物馆 - 让每一种情绪都被温柔以待*