# systemic **Repository Path**: yu-yantao/systemic ## Basic Information - **Project Name**: systemic - **Description**: 基于spring boot + mybatis实现正念冥想App对接的服务端 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-12-26 - **Last Updated**: 2025-12-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot ## README # Systemic 项目文档 ## 项目简介 Systemic 是一个综合性心理健康管理平台,旨在帮助用户通过多种方式管理情绪、记录心理状态、进行正念练习,并与好友互动。平台提供了丰富的功能模块,包括用户注册登录、动态发布与管理、正念练习资源管理、情绪日志记录、用户互动(点赞、评论、收藏)、好友系统、主题社区等。 该项目基于 Spring Boot 框架开发,采用前后端分离架构,后端使用 Java 编写,结合 MyBatis 和 MySQL 实现数据持久化,支持 RESTful API 接口调用。此外,项目还集成了 WebSocket 实现实时通信、Redis 缓存、文件上传、邮件服务等功能。 ## 主要功能模块 ### 用户系统 - **注册与登录**:支持邮箱注册、验证码验证、密码登录。 - **用户信息管理**:包括头像、背景图、昵称、基本信息的上传与修改。 - **好友系统**:支持添加好友、发送申请、接受/忽略申请、删除好友、修改备注等。 - **用户互动**:包括点赞、评论、收藏、动态发布与管理。 ### 动态与内容管理 - **动态发布**:支持图文动态发布、编辑、删除、查看。 - **动态互动**:支持点赞、评论、回复、收藏等操作。 - **主题动态**:支持将动态关联到特定主题,形成主题社区。 ### 正念练习模块 - **正念课程管理**:包括课程的添加、删除、更新、搜索。 - **正念资源管理**:支持音频、视频资源的上传、管理与分类。 - **正念日志**:用户可记录正念练习体验。 - **正念评价与收藏**:支持对正念资源进行评分、收藏。 ### 情绪与心理管理 - **情绪日志**:用户可记录情绪事件、感受、想法与行为。 - **回避与痛苦记录**:记录用户在特定场景下的回避行为与痛苦程度。 ### 社交与互动 - **好友互动**:包括发送消息、查看好友动态、互动记录。 - **群组功能**:支持创建、加入群组,群组内可进行正念打卡、活动组织等。 - **爱心银行**:记录用户之间的互动与情感支持。 ### 管理后台 - **管理员功能**:包括用户管理、内容审核、数据统计等。 ## 技术架构 ### 技术栈 - **Java 11+** - **Spring Boot**:用于快速构建微服务架构。 - **MyBatis + MySQL**:数据持久化层。 - **Redis**:缓存用户信息、验证码、会话等。 - **WebSocket**:实现实时聊天与通知推送。 - **JWT**:用于用户身份认证与 Token 管理。 - **Maven**:依赖管理工具。 - **Nginx**:静态资源代理与负载均衡。 - **邮件服务**:使用 JavaMailSender 发送验证码与通知。 - **文件上传**:支持图片、音频、视频上传,使用 Nginx 静态资源服务器。 ## 项目结构说明 ### 核心组件 - **Controller**:处理 HTTP 请求,定义 RESTful API。 - **Service**:业务逻辑层,调用 Mapper 进行数据操作。 - **Mapper**:数据访问层,与数据库交互。 - **Entity / POJO**:数据模型类,对应数据库表。 - **DTO / VO**:数据传输对象,用于前后端交互。 - **Utils**:工具类,如文件上传、JSON 转换、数学计算等。 - **WebSocket**:实时通信模块,用于聊天与通知。 - **Config**:配置类,如跨域配置、文件路径配置、WebSocket 配置等。 - **Aspect**:AOP 切面,用于日志记录、权限控制等。 ## 安装与部署 ### 环境要求 - JDK 11+ - Maven 3.6+ - MySQL 5.7+ - Redis 5.0+ - Nginx(用于静态资源代理) ### 安装步骤 1. 克隆项目: ```bash git clone https://gitee.com/your-repo/systemic.git cd systemic ``` 2. 修改配置文件: - `application.yaml`:配置数据库连接、Redis、邮件服务等。 - `image.properties`:配置图片上传路径与 URL。 - `mindfulness.properties`:配置正念资源路径。 3. 初始化数据库: - 创建数据库并导入 SQL 文件(位于 `src/main/resources/sqlmapper/*.sql`)。 4. 构建项目: ```bash mvn clean install ``` 5. 启动项目: ```bash java -jar target/systemic.jar ``` 6. 配置 Nginx(可选): - 配置静态资源路径,如头像、背景图、动态图片等。 ## 使用说明 ### API 文档 所有 API 均遵循 RESTful 风格,返回统一格式: ```json { "code": 200, "msg": "success", "data": {} } ``` #### 用户相关 - **注册**:`POST /register/information` - **登录**:`POST /login/account&password` - **获取用户信息**:`GET /user/info/{uid}` #### 动态相关 - **发布动态**:`POST /dynamic/publish` - **获取动态列表**:`POST /dynamic/selectList` - **点赞动态**:`POST /like/create` #### 正念相关 - **上传正念资源**:`POST /mindfulnessMedia/add` - **获取正念资源列表**:`POST /mindfulnessMedia/selectByAuthor` - **记录正念日志**:`POST /mindfulnessLog/add` #### 情绪管理 - **记录情绪日志**:`POST /emotionLog/add` - **记录回避与痛苦**:`POST /avoidancePain/add` #### 好友与社交 - **添加好友**:`POST /friendApply/send` - **查看好友列表**:`GET /friend/friendList/{uid}` - **发送私信**:WebSocket 实时通信 ## 贡献指南 欢迎贡献代码!请遵循以下步骤: 1. Fork 项目。 2. 创建新分支。 3. 提交 Pull Request。 ## 许可证 本项目采用 [MIT License](https://opensource.org/licenses/MIT) 开源协议。