# PetMateDiary-伴宠日记后端SpringBoot3 **Repository Path**: ryder_ryc/pet-mate-diary-backend ## Basic Information - **Project Name**: PetMateDiary-伴宠日记后端SpringBoot3 - **Description**: PetMateDiary(伴宠日记后端) 基于 Spring Boot 3 构建,Sa-Token 实现认证授权,MyBatis 持久化,与前端分离,提供 RESTful API。核心模块:用户权限管理、宠物档案数据处理、社交与店铺服务、健康管理接口。分层架构保障扩展,支撑前端端提供稳定支撑。 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2025-10-25 - **Last Updated**: 2026-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. # PetMateDiary - 伴宠日记后端 ## 项目介绍 基于 Spring Boot 3 构建的宠物全周期管理系统后端服务,与前端([PetMateDiary - 伴宠日记前端](https://gitee.com/ryder_ryc/pet-mate-diary-frontend.git))分离开发,通过 RESTful API 提供数据交互支持。采用 Sa-Token 实现认证授权,MyBatis 处理数据持久化,聚焦宠物主人的养宠需求,支撑宠物档案管理、社交互动、店铺服务、健康管理等核心功能,为前端提供稳定高效的后端支撑。 ## 软件架构 ### 技术栈 - 核心框架:Spring Boot 3 - 认证授权:Sa-Token - 持久层:MyBatis - 数据库:MySQL - 接口风格:RESTful API(统一前缀 `ryder`,如 `/ryder/api/pets`) ### 项目结构 ```plaintext src/main/java/com/ryder/petmate/ ├── common/ // 公共模块 │ ├── config/ // 全局配置(如Sa-Token配置、MyBatis配置) │ ├── enums/ // 公共枚举(如状态码、业务类型) │ ├── exception/ // 自定义异常类 │ ├── handler/ // 全局处理器(如异常处理器、请求拦截器) │ ├── response/ // 统一响应体封装 │ └── util/ // 工具类(日期、加密、校验等) ├── module/ // 业务模块 │ ├── user/ // 用户与权限模块 │ │ ├── controller/ // 接口层 │ │ ├── service/ // 业务逻辑层(含impl实现) │ │ ├── entity/ // 数据库实体 │ │ ├── mapper/ // MyBatis映射接口 │ │ ├── enums/ // 模块内枚举 │ │ ├── vo/ // 前端视图对象 │ │ └── dto/ // 数据传输对象 │ ├── pet/ // 宠物档案模块(结构同上) │ ├── social/ // 社交与圈子模块(结构同上) │ ├── shop/ // 店铺服务模块(结构同上) │ └── health/ // 健康管理模块(结构同上) └── PetMateApplication.java // 启动类 ``` ### 资源文件 - 数据库脚本:`src/main/resources/db/`(初始化 SQL 脚本) - 配置文件:`src/main/resources/application.yml`(数据库连接、服务端口等配置) ## 安装教程 1. **环境要求**: - JDK 17+ - MySQL 8.0+ - Maven 3.6+ 2. **部署步骤**: - 克隆仓库:`git clone https://gitee.com/你的用户名/pet-mate-diary-backend.git` - 进入项目目录:`cd pet-mate-diary-backend` - 配置数据库:修改 `src/main/resources/application.yml` 中 `spring.datasource` 相关配置(url、username、password) - 初始化数据:执行 `src/main/resources/db/init.sql` 脚本创建数据库表 - 编译打包:`mvn clean package -Dmaven.test.skip=true` - 启动服务:`java -jar target/pet-mate-diary-backend-1.0.jar`(默认端口 8080,可在配置文件修改) ## 使用说明 1. **接口访问**:所有接口需携带统一前缀 `ryder`,例如: - 获取宠物列表:`GET http://localhost:8080/ryder/api/pets` - 用户登录:`POST http://localhost:8080/ryder/api/user/login` 2. **权限控制**:通过 Sa-Token 实现角色权限校验,不同角色(普通用户 / 店铺 / 审核员 / 管理员)对应接口访问权限不同,具体见接口文档。 3. **开发规范**: - 接口返回格式统一使用 `common.response` 中的封装类(如 `Result`) - 数据库实体类对应表名无统一前缀,字段名采用下划线命名法(与 Java 驼峰式自动映射) - 业务异常通过 `common.exception` 自定义异常类抛出,由全局异常处理器统一处理 ## 许可证 本项目采用 **GNU Affero General Public License v3.0 (AGPLv3)** 协议开源,详情见 [LICENSE](https://www.doubao.com/chat/LICENSE) 文件。 - 允许免费使用、修改、分发,但修改或衍生作品必须采用相同协议开源 - 若将本项目用于网络服务(如部署为 API 接口供他人使用),必须公开服务器端源代码 - 使用或分发时需保留原作者信息及许可证声明 ## 联系方式 - 设计人:Ryder - 冉 - 前端仓库:https://gitee.com/ryder_ryc/pet-mate-diary-frontend.git - 后端仓库:https://gitee.com/ryder_ryc/pet-mate-diary-backend.git