225 lines
7.2 KiB
Markdown
225 lines
7.2 KiB
Markdown
# 情绪博物馆 (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
|
||
- **移动端**: 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+
|
||
|
||
#### 安装与启动
|
||
```bash
|
||
# 进入新版本Web目录
|
||
cd web-new
|
||
|
||
# 安装依赖
|
||
npm install
|
||
|
||
# 启动开发服务器
|
||
npm run dev
|
||
|
||
# 构建生产版本
|
||
npm run build
|
||
```
|
||
|
||
## 📊 核心功能模块
|
||
|
||
### 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进行状态管理
|
||
|
||
### API文档
|
||
- 网关地址: http://localhost:8080
|
||
- 用户服务: http://localhost:8081
|
||
- AI服务: http://localhost:8082
|
||
- 各服务健康检查: http://localhost:{port}/actuator/health
|
||
|
||
## 🧪 测试策略
|
||
|
||
### 后端测试
|
||
- 单元测试覆盖率 > 80%
|
||
- 集成测试覆盖核心业务流程
|
||
- API测试验证接口正确性
|
||
- 性能测试确保系统稳定性
|
||
|
||
### 前端测试
|
||
- 组件单元测试 (Vitest)
|
||
- 端到端测试 (Cypress)
|
||
- 跨浏览器兼容性测试
|
||
- 移动端响应式测试
|
||
|
||
## 📈 部署与监控
|
||
|
||
### 部署方式
|
||
- Docker容器化部署
|
||
- Kubernetes集群部署
|
||
- CI/CD自动化部署
|
||
|
||
### 监控体系
|
||
- 健康检查端点
|
||
- Prometheus指标收集
|
||
- Grafana可视化监控
|
||
- 日志收集与分析
|
||
|
||
## 🤝 贡献指南
|
||
|
||
我们欢迎任何形式的贡献!
|
||
|
||
1. Fork项目
|
||
2. 创建功能分支
|
||
3. 提交代码更改
|
||
4. 编写测试用例
|
||
5. 提交Pull Request
|
||
|
||
## 📄 许可证
|
||
|
||
本项目采用MIT许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
|
||
|
||
## 📞 联系我们
|
||
|
||
如有任何问题或建议,请通过以下方式联系我们:
|
||
- 邮箱: [请填写邮箱地址]
|
||
- GitHub Issues: [项目Issues页面]
|
||
|
||
---
|
||
|
||
*情绪博物馆 - 让每一种情绪都被温柔以待* |