2025-12-21 17:57:31 +08:00
2025-09-09 11:13:36 +08:00
2025-09-08 17:54:12 +08:00
2025-11-22 15:35:58 +08:00
2025-10-28 17:30:47 +08:00
2025-09-08 17:54:12 +08:00
2025-12-21 17:57:31 +08:00
2025-12-21 17:57:31 +08:00
2025-10-27 23:57:31 +08:00
2025-12-21 16:57:54 +08:00
2025-12-21 17:44:59 +08:00
2025-08-11 23:23:53 +08:00
2025-11-22 22:36:42 +08:00
2025-10-31 15:56:44 +08:00
2025-10-30 16:55:22 +08:00
2025-10-30 16:55:22 +08:00
2025-10-30 16:55:22 +08:00
2025-10-26 23:26:30 +08:00
2025-10-26 23:26:30 +08:00

情绪博物馆 (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. 启动各微服务模块
# 启动所有服务
cd backend
./start-services.sh

# 停止所有服务
./stop-services.sh

Web前端部署

环境要求

  • Node.js 18+
  • npm 9+

用户前端 (web)

# 进入前端目录
cd web

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 构建生产版本
npm run build

# 部署到服务器
bash deploy.sh

管理后台 (web-admin)

# 进入管理后台目录
cd web-admin

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 构建生产版本
npm run build

# 部署到服务器
bash deploy.sh

一键部署

# 部署所有服务(后端 + 前端 + 管理后台)
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进行状态管理

访问地址

生产环境 (101.200.208.45)

开发环境 (本地)

🧪 测试策略

后端测试

  • 单元测试覆盖率 > 80%
  • 集成测试覆盖核心业务流程
  • API测试验证接口正确性
  • 性能测试确保系统稳定性

前端测试

  • 组件单元测试 (Vitest)
  • 端到端测试 (Cypress)
  • 跨浏览器兼容性测试
  • 移动端响应式测试

📈 部署与监控

部署方式

  • Docker容器化部署
  • Kubernetes集群部署
  • CI/CD自动化部署

监控体系

  • 健康检查端点
  • Prometheus指标收集
  • Grafana可视化监控
  • 日志收集与分析

🤝 贡献指南

我们欢迎任何形式的贡献!

  1. Fork项目
  2. 创建功能分支
  3. 提交代码更改
  4. 编写测试用例
  5. 提交Pull Request

📄 许可证

本项目采用MIT许可证 - 查看 LICENSE 文件了解详情。

📞 联系我们

如有任何问题或建议,请通过以下方式联系我们:

  • 邮箱: [请填写邮箱地址]
  • GitHub Issues: [项目Issues页面]

情绪博物馆 - 让每一种情绪都被温柔以待

S
Description
No description provided
Readme 33 MiB
Languages
Java 49.9%
Vue 23.4%
JavaScript 8.7%
TypeScript 7.2%
Python 6.6%
Other 4.1%