|
|
|
|
@ -1,2 +1,141 @@
|
|
|
|
|
# Pet
|
|
|
|
|
# 宠物领养系统
|
|
|
|
|
|
|
|
|
|
## 项目简介
|
|
|
|
|
宠物领养系统是一个前后端分离的Web应用,旨在搭建一个连接宠物与领养者的平台,帮助流浪动物找到温暖的家。系统提供宠物信息展示、领养申请、用户互动、内容管理等功能,为宠物救助和领养提供便捷的数字化解决方案。
|
|
|
|
|
|
|
|
|
|
## 系统架构
|
|
|
|
|
系统采用前后端分离的开发架构:
|
|
|
|
|
|
|
|
|
|
- **前端**:负责页面开发和用户交互
|
|
|
|
|
- **后端**:负责业务逻辑处理和数据管理
|
|
|
|
|
- **数据库**:专注于数据存储
|
|
|
|
|
|
|
|
|
|
## 技术栈
|
|
|
|
|
|
|
|
|
|
### 后端技术
|
|
|
|
|
- **框架**:Spring Boot 2.2.4.RELEASE
|
|
|
|
|
- **ORM框架**:MyBatis Plus 3.5.3.1
|
|
|
|
|
- **数据库**:MySQL 5.7.43
|
|
|
|
|
- **开发语言**:Java 8
|
|
|
|
|
- **构建工具**:Maven 3.9.9
|
|
|
|
|
- **其他依赖**:Lombok、FastJSON、EasyExcel等
|
|
|
|
|
|
|
|
|
|
### 前端技术
|
|
|
|
|
- **框架**:Vue 2.6.11
|
|
|
|
|
- **UI组件库**:Element UI 2.15.14
|
|
|
|
|
- **路由**:Vue Router 3.2.0
|
|
|
|
|
- **HTTP客户端**:Axios 0.21.1
|
|
|
|
|
- **编辑器**:WangEditor、Toast UI Editor
|
|
|
|
|
- **其他库**:ECharts、CryptoJS、Lodash等
|
|
|
|
|
|
|
|
|
|
## 功能模块
|
|
|
|
|
|
|
|
|
|
### 1. 用户模块
|
|
|
|
|
- 用户注册、登录
|
|
|
|
|
- 用户信息管理(个人资料、头像等)
|
|
|
|
|
- 角色管理(普通用户、管理员)
|
|
|
|
|
|
|
|
|
|
### 2. 宠物信息模块
|
|
|
|
|
- 宠物类别管理
|
|
|
|
|
- 宠物信息发布和管理
|
|
|
|
|
- 宠物详情展示
|
|
|
|
|
- 宠物推荐(基于协同过滤算法)
|
|
|
|
|
|
|
|
|
|
### 3. 领养订单模块
|
|
|
|
|
- 领养申请提交
|
|
|
|
|
- 订单状态管理(申请中、已审核、审核未通过、已完成)
|
|
|
|
|
- 收货地址管理
|
|
|
|
|
- 订单查询和管理
|
|
|
|
|
|
|
|
|
|
### 4. 互动行为模块
|
|
|
|
|
- 宠物点赞和收藏
|
|
|
|
|
- 宠物评论和回复
|
|
|
|
|
- 评论点赞功能
|
|
|
|
|
|
|
|
|
|
### 5. 内容管理模块
|
|
|
|
|
- 宠物经验帖子发布和管理
|
|
|
|
|
- 帖子审核功能
|
|
|
|
|
- 帖子推荐(基于协同过滤算法)
|
|
|
|
|
- 帖子流量数据统计
|
|
|
|
|
|
|
|
|
|
### 6. 通知反馈模块
|
|
|
|
|
- 系统公告管理
|
|
|
|
|
- 建议与反馈提交
|
|
|
|
|
- 反馈管理(管理员)
|
|
|
|
|
|
|
|
|
|
## 开发环境要求
|
|
|
|
|
|
|
|
|
|
### 开发工具
|
|
|
|
|
- **前端**:Visual Studio Code
|
|
|
|
|
- **后端**:IntelliJ IDEA 旗舰版(推荐2024.3.5或更高版本)
|
|
|
|
|
|
|
|
|
|
### 运行环境
|
|
|
|
|
- **JDK**:1.8
|
|
|
|
|
- **MySQL**:5.7.43(或8.x系列)
|
|
|
|
|
- **Maven**:3.9.9(高版本Maven需配合高版本IDEA)
|
|
|
|
|
- **Node.js**:推荐16.14.0(20以下版本)
|
|
|
|
|
|
|
|
|
|
## 项目目录结构
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
pet-adopt-system/
|
|
|
|
|
├── source code/ # 源代码目录
|
|
|
|
|
│ ├── api/ # 后端API代码
|
|
|
|
|
│ │ ├── src/ # 源代码
|
|
|
|
|
│ │ ├── pom.xml # Maven配置文件
|
|
|
|
|
│ │ └── target/ # 编译输出目录
|
|
|
|
|
│ ├── view/ # 前端代码
|
|
|
|
|
│ │ ├── src/ # 源代码
|
|
|
|
|
│ │ ├── public/ # 静态资源
|
|
|
|
|
│ │ ├── package.json # NPM配置文件
|
|
|
|
|
│ │ └── dist/ # 构建输出目录
|
|
|
|
|
│ └── sql/ # 数据库脚本
|
|
|
|
|
│ └── pet_adopt_system.sql # 数据库初始化脚本
|
|
|
|
|
├── scaffold/ # 脚手架代码
|
|
|
|
|
├── notes/ # 项目文档和开发笔记
|
|
|
|
|
└── README.md # 项目说明文档
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 安装部署
|
|
|
|
|
|
|
|
|
|
### 1. 环境准备
|
|
|
|
|
确保已安装以下软件:
|
|
|
|
|
- JDK 1.8
|
|
|
|
|
- MySQL 5.7.43
|
|
|
|
|
- Maven 3.9.9
|
|
|
|
|
- Node.js 16.14.0
|
|
|
|
|
- IDE(IntelliJ IDEA和Visual Studio Code)
|
|
|
|
|
|
|
|
|
|
### 2. 数据库初始化
|
|
|
|
|
- 创建数据库:`pet_adopt_system`
|
|
|
|
|
- 导入数据库脚本:`source code/sql/pet_adopt_system.sql`
|
|
|
|
|
|
|
|
|
|
### 3. 后端配置
|
|
|
|
|
- 修改后端配置文件中的数据库连接信息
|
|
|
|
|
- 使用Maven构建项目:`mvn clean install`
|
|
|
|
|
- 运行Spring Boot应用
|
|
|
|
|
|
|
|
|
|
### 4. 前端配置
|
|
|
|
|
- 安装依赖:`npm install`
|
|
|
|
|
- 开发环境运行:`npm run dev`
|
|
|
|
|
- 生产环境构建:`npm run build`
|
|
|
|
|
|
|
|
|
|
## 系统特点
|
|
|
|
|
|
|
|
|
|
1. **前后端分离架构**:便于团队协作和系统维护
|
|
|
|
|
2. **智能推荐**:基于协同过滤算法推荐宠物和经验帖子
|
|
|
|
|
3. **完整的领养流程**:从申请到审核的全流程管理
|
|
|
|
|
4. **丰富的互动功能**:点赞、收藏、评论等社交元素
|
|
|
|
|
5. **完善的权限管理**:区分普通用户和管理员权限
|
|
|
|
|
6. **实时定位**:基于高德地图的实时定位
|
|
|
|
|
|
|
|
|
|
## 注意事项
|
|
|
|
|
|
|
|
|
|
- 数据库版本建议使用MySQL 5.7.43,避免版本兼容性问题
|
|
|
|
|
- Node.js版本建议使用20以下,以确保依赖包正常安装
|
|
|
|
|
- 高版本Maven需配合高版本IDEA使用
|
|
|
|
|
- 项目运行前请确保数据库服务已启动
|
|
|
|
|
|
|
|
|
|
## 许可证
|
|
|
|
|
|
|
|
|
|
本项目仅供学习使用。
|