# seithread_backend **Repository Path**: xdx_coder_dev/seithread_backend ## Basic Information - **Project Name**: seithread_backend - **Description**: 使用Springboot3+Mybatis-Plus+MinIO+Redis开发的社交App后端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-01 - **Last Updated**: 2025-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot3, mybatis-plus, minio ## README # social_median_backend ## 介绍 social_median_backend 是一个基于 Spring Boot 的社交平台后端服务,提供了用户管理、帖子管理、评论管理、文件上传等核心社交功能。项目使用 MyBatis Plus 作为 ORM 框架,整合了 MinIO 用于文件存储,Redis 用于会话管理,并通过 Knife4j 提供了友好的 API 文档界面。 ## 软件架构 - **后端框架**:Spring Boot + MyBatis Plus - **数据库**:MySQL(默认使用 MyBatis Plus 的自动映射) - **文件存储**:MinIO - **会话管理**:Spring Session + Redis - **API 文档**:Knife4j - **日志**:Lombok + Slf4j - **配置管理**:application.yaml ## 安装教程 1. **环境要求** - JDK 1.8 或以上 - Maven 3.x - MySQL 5.7+ - Redis 6.x - MinIO 2. **克隆项目** ```bash git clone https://gitee.com/your-repo/social_median_backend.git cd social_median_backend ``` 3. **配置数据库** 修改 `src/main/resources/application.yaml` 文件,配置 MySQL 数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/social_median?useSSL=false&serverTimezone=UTC username: root password: your_password ``` 4. **配置 MinIO** 在 `application.yaml` 中配置 MinIO 的访问信息: ```yaml minio: endpoint: http://localhost:9000 access-key: your_access_key secret-key: your_secret_key bucket-name: social_median ``` 5. **启动项目** ```bash mvn spring-boot:run ``` 6. **访问 API 文档** 启动成功后,访问 `http://localhost:8080/doc.html` 查看 API 接口文档。 ## 使用说明 ### 用户管理 - **注册**:`POST /api/user/register` - **登录**:`POST /api/user/login` - **获取当前用户信息**:`GET /api/user/current` - **关注用户**:`POST /api/user/followUser` - **取消关注**:`GET /api/user/unfollowUser` ### 帖子管理 - **发布帖子**:`POST /api/thread/add` - **获取所有帖子**:`GET /api/thread/list` - **删除帖子**:`POST /api/thread/delete` ### 评论管理 - **添加评论**:`POST /api/comments/add` - **根据帖子 ID 获取评论**:`GET /api/comments/post` - **根据用户 ID 获取所有评论**:`POST /api/comments/getAllThreadCommentByUserId` ### 文件上传 - **上传头像**:`POST /api/pics/uploadAvatar` - **上传文件**:`POST /api/file/upload` ## 参与贡献 欢迎提交 Pull Request 或 Issue 来帮助改进项目。请遵循以下步骤: 1. Fork 项目 2. 创建新分支 (`git checkout -b feature/new-feature`) 3. 提交更改 (`git commit -m 'Add new feature'`) 4. 推送分支 (`git push origin feature/new-feature`) 5. 创建 Pull Request ## 特技 - **API 文档**:集成 Knife4j,提供可视化接口调试。 - **文件上传**:支持 MinIO 文件存储,可扩展为其他云存储。 - **会话管理**:使用 Redis 存储用户会话,支持分布式部署。 - **异常处理**:统一的异常处理机制,返回结构化错误信息。 - **用户关注系统**:基于 Redis 实现高效的用户关注/被关注列表管理。