2025-09-20 16:15:59 +08:00
|
|
|
|
# 解班客 - 宠物认领平台
|
|
|
|
|
|
|
|
|
|
|
|
一个基于Vue.js和Node.js的宠物认领平台,帮助流浪动物找到温暖的家。
|
|
|
|
|
|
|
|
|
|
|
|
## 项目概述
|
|
|
|
|
|
|
|
|
|
|
|
解班客是一个专业的宠物认领平台,致力于为流浪动物提供一个温暖的归宿。平台通过现代化的Web技术,为用户提供便捷的宠物发布、搜索、认领服务,同时为管理员提供完善的后台管理功能。
|
|
|
|
|
|
|
|
|
|
|
|
### 核心功能
|
|
|
|
|
|
|
|
|
|
|
|
- **用户系统**: 完整的用户注册、登录、个人信息管理
|
|
|
|
|
|
- **动物管理**: 动物信息发布、编辑、状态管理
|
|
|
|
|
|
- **认领流程**: 在线认领申请、审核、跟踪
|
|
|
|
|
|
- **地图定位**: 基于地理位置的动物搜索和展示
|
|
|
|
|
|
- **管理后台**: 用户管理、动物管理、数据统计、文件管理
|
|
|
|
|
|
- **消息通知**: 实时消息推送和邮件通知
|
|
|
|
|
|
- **数据统计**: 详细的业务数据分析和报表
|
|
|
|
|
|
|
|
|
|
|
|
## 技术架构
|
|
|
|
|
|
|
|
|
|
|
|
### 前端技术栈
|
|
|
|
|
|
- **框架**: Vue.js 3.x + Composition API
|
|
|
|
|
|
- **UI组件**: Element Plus
|
|
|
|
|
|
- **状态管理**: Pinia
|
|
|
|
|
|
- **路由**: Vue Router 4
|
|
|
|
|
|
- **构建工具**: Vite
|
|
|
|
|
|
- **HTTP客户端**: Axios
|
|
|
|
|
|
- **样式**: SCSS + CSS Modules
|
|
|
|
|
|
|
|
|
|
|
|
### 后端技术栈
|
|
|
|
|
|
- **运行时**: Node.js 18+
|
|
|
|
|
|
- **框架**: Express.js
|
|
|
|
|
|
- **数据库**: MySQL 8.0
|
|
|
|
|
|
- **缓存**: Redis 6.0
|
|
|
|
|
|
- **认证**: JWT + Passport
|
|
|
|
|
|
- **文件处理**: Multer + Sharp
|
|
|
|
|
|
- **日志**: Winston
|
|
|
|
|
|
- **测试**: Jest + Supertest
|
|
|
|
|
|
|
|
|
|
|
|
### 基础设施
|
|
|
|
|
|
- **容器化**: Docker + Docker Compose
|
|
|
|
|
|
- **反向代理**: Nginx
|
|
|
|
|
|
- **进程管理**: PM2
|
|
|
|
|
|
- **监控**: Prometheus + Grafana
|
|
|
|
|
|
- **日志收集**: ELK Stack
|
|
|
|
|
|
- **CI/CD**: GitHub Actions
|
2025-09-01 02:20:36 +08:00
|
|
|
|
|
|
|
|
|
|
## 🗂️ 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
jiebanke/
|
|
|
|
|
|
├── 📁 backend/ # 后端服务 (Node.js + Express)
|
|
|
|
|
|
├── 📁 admin-system/ # 后台管理系统 (Vue 3 + Element Plus)
|
|
|
|
|
|
├── 📁 website/ # 官方网站 (Vue 3)
|
|
|
|
|
|
├── 📁 mini-program/ # 微信小程序矩阵 (原生小程序)
|
|
|
|
|
|
├── 📁 docs/ # 项目文档
|
|
|
|
|
|
├── 📁 scripts/ # 工具脚本
|
|
|
|
|
|
├── 📁 test/ # 测试文件目录
|
|
|
|
|
|
└── 📄 README.md # 项目说明 (当前文件)
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🚀 快速开始
|
|
|
|
|
|
|
|
|
|
|
|
### 环境要求
|
|
|
|
|
|
- Node.js 16.x+
|
|
|
|
|
|
- MySQL 8.0+
|
|
|
|
|
|
- npm 8.x+
|
|
|
|
|
|
|
|
|
|
|
|
### 安装依赖
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 安装后端依赖
|
|
|
|
|
|
cd backend && npm install
|
|
|
|
|
|
|
|
|
|
|
|
# 安装后台管理依赖
|
|
|
|
|
|
cd admin-system && npm install
|
|
|
|
|
|
|
|
|
|
|
|
# 安装官网依赖
|
|
|
|
|
|
cd website && npm install
|
|
|
|
|
|
|
|
|
|
|
|
# 安装小程序依赖
|
|
|
|
|
|
cd mini-program && npm install
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 启动开发环境
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 启动后端服务
|
|
|
|
|
|
cd backend && npm run dev
|
|
|
|
|
|
|
|
|
|
|
|
# 启动后台管理 (新终端)
|
|
|
|
|
|
cd admin-system && npm run dev
|
|
|
|
|
|
|
|
|
|
|
|
# 启动官方网站 (新终端)
|
|
|
|
|
|
cd website && npm run dev
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 📖 项目文档
|
|
|
|
|
|
|
|
|
|
|
|
所有详细文档位于 `docs/` 目录:
|
|
|
|
|
|
|
2025-09-20 16:15:59 +08:00
|
|
|
|
### 📖 快速导航
|
|
|
|
|
|
|
|
|
|
|
|
| 文档类型 | 文档名称 | 描述 | 适用人员 |
|
|
|
|
|
|
|---------|---------|------|---------|
|
|
|
|
|
|
| 🚀 快速开始 | [系统集成和部署文档](docs/系统集成和部署文档.md) | 环境搭建、部署流程 | 开发者、运维 |
|
|
|
|
|
|
| 🔧 开发指南 | [前端开发文档](docs/前端开发文档.md) | 前端开发规范和指南 | 前端开发者 |
|
|
|
|
|
|
| 🔧 开发指南 | [后端开发文档](docs/后端开发文档.md) | 后端开发规范和指南 | 后端开发者 |
|
|
|
|
|
|
| 📋 API参考 | [API接口文档](docs/API接口文档.md) | 完整的API接口文档 | 全栈开发者 |
|
|
|
|
|
|
| 🗄️ 数据设计 | [数据库设计文档](docs/数据库设计文档.md) | 数据库结构设计 | 后端开发者、DBA |
|
|
|
|
|
|
| 👨💼 管理功能 | [管理员后台系统API文档](docs/管理员后台系统API文档.md) | 管理后台功能说明 | 管理员、开发者 |
|
|
|
|
|
|
| 📁 文件系统 | [文件上传系统文档](docs/文件上传系统文档.md) | 文件上传和管理 | 全栈开发者 |
|
|
|
|
|
|
| 🔍 监控运维 | [错误处理和日志系统文档](docs/错误处理和日志系统文档.md) | 错误处理和日志 | 开发者、运维 |
|
|
|
|
|
|
| 🧪 质量保证 | [测试文档](docs/测试文档.md) | 测试策略、用例设计和质量保证 | 测试工程师、开发者 |
|
|
|
|
|
|
| 🔒 安全管理 | [安全和权限管理文档](docs/安全和权限管理文档.md) | 安全策略、权限控制、安全防护措施 | 安全工程师、系统管理员 |
|
|
|
|
|
|
| ⚡ 性能优化 | [性能优化文档](docs/性能优化文档.md) | 系统性能优化策略、监控方案和优化实践 | 性能工程师、运维工程师 |
|
|
|
|
|
|
| 🚀 部署运维 | [部署和运维文档](docs/部署和运维文档.md) | 系统部署流程和运维管理方案 | 运维工程师、DevOps工程师 |
|
|
|
|
|
|
| 📊 项目管理 | [项目开发进度报告](docs/项目开发进度报告.md) | 项目进度和规划 | 项目经理、开发者 |
|
|
|
|
|
|
| 📝 开发规范 | [开发规范和最佳实践](docs/开发规范和最佳实践.md) | 代码规范和标准 | 全体开发者 |
|
|
|
|
|
|
|
2025-09-20 10:54:40 +08:00
|
|
|
|
### 核心文档
|
|
|
|
|
|
- 📄 [项目概述](docs/项目概述.md) - 项目背景、目标和整体介绍
|
|
|
|
|
|
- 📄 [系统架构文档](docs/系统架构文档.md) - 系统架构设计和技术栈
|
|
|
|
|
|
- 📄 [API接口文档](docs/API接口文档.md) - 完整的API接口说明
|
|
|
|
|
|
- 📄 [数据库设计文档](docs/数据库设计文档.md) - 数据库表结构和关系设计
|
|
|
|
|
|
- 📄 [开发指南](docs/开发指南.md) - 开发环境搭建和开发规范
|
|
|
|
|
|
- 📄 [部署指南](docs/部署指南.md) - 开发、测试、生产环境部署指南
|
|
|
|
|
|
|
2025-09-20 16:15:59 +08:00
|
|
|
|
### 功能模块文档
|
|
|
|
|
|
|
|
|
|
|
|
| 文档名称 | 描述 | 链接 |
|
|
|
|
|
|
|---------|------|------|
|
|
|
|
|
|
| API接口文档 | 详细的API接口说明和使用示例 | [查看文档](./docs/API接口文档.md) |
|
|
|
|
|
|
| 管理员后台文档 | 管理员功能和操作指南 | [查看文档](./docs/管理员后台文档.md) |
|
|
|
|
|
|
| 用户认证系统文档 | 用户注册、登录、权限管理 | [查看文档](./docs/用户认证系统文档.md) |
|
|
|
|
|
|
| 动物管理系统文档 | 动物信息管理和认领流程 | [查看文档](./docs/动物管理系统文档.md) |
|
|
|
|
|
|
| 文件上传系统文档 | 文件上传、存储和管理 | [查看文档](./docs/文件上传系统文档.md) |
|
|
|
|
|
|
| 数据库设计文档 | 数据库架构、表结构和关系设计 | [查看文档](./docs/数据库设计文档.md) |
|
|
|
|
|
|
| 错误处理和日志系统文档 | 错误处理机制和日志记录 | [查看文档](./docs/错误处理和日志系统文档.md) |
|
|
|
|
|
|
| 系统集成和部署文档 | 系统部署和运维指南 | [查看文档](./docs/系统集成和部署文档.md) |
|
|
|
|
|
|
| 前端开发文档 | 前端技术架构、组件设计和开发规范 | [查看文档](./docs/前端开发文档.md) |
|
|
|
|
|
|
|
|
|
|
|
|
#### 项目管理文档
|
|
|
|
|
|
- **[项目开发进度报告](docs/项目开发进度报告.md)** - 项目进度跟踪和里程碑规划
|
|
|
|
|
|
- **[开发规范和最佳实践](docs/开发规范和最佳实践.md)** - 团队开发规范和代码标准
|
|
|
|
|
|
- **[测试文档](docs/测试文档.md)** - 测试策略、用例设计和质量保证
|
|
|
|
|
|
|
2025-09-20 10:54:40 +08:00
|
|
|
|
### 补充文档
|
|
|
|
|
|
- 📄 [变更日志](CHANGELOG.md) - 项目版本变更记录
|
|
|
|
|
|
- 📄 [贡献指南](docs/贡献指南.md) - 如何参与项目开发
|
|
|
|
|
|
- 📄 [常见问题](docs/常见问题.md) - 开发和使用中的常见问题解答
|
|
|
|
|
|
- 📄 [许可证](LICENSE.md) - 项目许可证信息
|
2025-09-01 02:20:36 +08:00
|
|
|
|
|
|
|
|
|
|
## 🛠️ 开发工具
|
|
|
|
|
|
|
|
|
|
|
|
### 脚本工具
|
|
|
|
|
|
项目提供了一些有用的开发脚本:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 数据库连接测试
|
|
|
|
|
|
cd backend && npm run test-db
|
|
|
|
|
|
|
|
|
|
|
|
# API接口测试
|
|
|
|
|
|
cd backend && npm run test-api
|
|
|
|
|
|
|
|
|
|
|
|
# 数据库初始化
|
|
|
|
|
|
cd backend && npm run db:reset
|
2025-09-10 14:16:27 +08:00
|
|
|
|
|
|
|
|
|
|
# 部署脚本 (Linux/Mac)
|
|
|
|
|
|
cd scripts && ./deploy.sh all
|
|
|
|
|
|
|
|
|
|
|
|
# 部署脚本 (Windows PowerShell)
|
|
|
|
|
|
cd scripts && .\deploy.ps1 all
|
2025-09-01 02:20:36 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 环境配置
|
|
|
|
|
|
复制环境变量模板并配置:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 后端环境配置
|
|
|
|
|
|
cp backend/.env.example backend/.env
|
|
|
|
|
|
|
|
|
|
|
|
# 后台管理环境配置
|
|
|
|
|
|
cp admin-system/.env.example admin-system/.env
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-09-10 14:16:27 +08:00
|
|
|
|
## ☁️ 部署
|
|
|
|
|
|
|
|
|
|
|
|
项目支持多种部署方式:
|
|
|
|
|
|
|
|
|
|
|
|
### 自动部署脚本
|
|
|
|
|
|
在 `scripts/` 目录中提供了自动部署脚本,支持 Linux/Mac 和 Windows 系统:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Linux/Mac 部署所有模块
|
|
|
|
|
|
cd scripts && chmod +x deploy.sh && ./deploy.sh all
|
|
|
|
|
|
|
|
|
|
|
|
# Windows PowerShell 部署所有模块
|
|
|
|
|
|
cd scripts && .\deploy.ps1 all
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
支持的部署选项:
|
|
|
|
|
|
- `all` - 部署所有模块
|
|
|
|
|
|
- `backend` - 部署后端服务
|
|
|
|
|
|
- `admin` - 部署后台管理系统
|
|
|
|
|
|
- `website` - 部署官方网站
|
|
|
|
|
|
- `mini-program` - 构建微信小程序
|
|
|
|
|
|
|
|
|
|
|
|
### Docker 容器化部署
|
|
|
|
|
|
每个模块都提供了 Docker 配置文件,可以使用 docker-compose 进行部署:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 启动所有服务
|
|
|
|
|
|
docker-compose up -d
|
|
|
|
|
|
|
|
|
|
|
|
# 启动指定服务
|
|
|
|
|
|
docker-compose up -d backend
|
|
|
|
|
|
|
|
|
|
|
|
# 查看服务状态
|
|
|
|
|
|
docker-compose ps
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 手动部署
|
|
|
|
|
|
每个模块也可以手动部署到服务器,具体说明请参考各模块目录中的 DEPLOYMENT.md 文件。
|
|
|
|
|
|
|
2025-09-01 02:20:36 +08:00
|
|
|
|
## 🌐 访问地址
|
|
|
|
|
|
|
2025-09-08 18:10:41 +08:00
|
|
|
|
- **后端API**: https://webapi.jiebanke.com
|
2025-09-01 03:32:45 +08:00
|
|
|
|
- **后台管理**: https://admin.jiebanke.com
|
|
|
|
|
|
- **官方网站**: https://www.jiebanke.com
|
2025-09-01 02:20:36 +08:00
|
|
|
|
- **小程序**: 使用微信开发者工具打开 `mini-program/` 目录
|
|
|
|
|
|
|
|
|
|
|
|
## 📦 依赖管理
|
|
|
|
|
|
|
|
|
|
|
|
### 主要技术栈
|
|
|
|
|
|
|
|
|
|
|
|
**后端**:
|
|
|
|
|
|
- Node.js + Express.js
|
|
|
|
|
|
- Sequelize ORM
|
|
|
|
|
|
- JWT 认证
|
|
|
|
|
|
- MySQL 数据库
|
|
|
|
|
|
|
|
|
|
|
|
**前端**:
|
|
|
|
|
|
- Vue 3 + TypeScript
|
|
|
|
|
|
- Element Plus UI
|
|
|
|
|
|
- Vite 构建工具
|
|
|
|
|
|
- Pinia 状态管理
|
|
|
|
|
|
|
|
|
|
|
|
**小程序**:
|
|
|
|
|
|
- 微信原生小程序
|
|
|
|
|
|
- Vant Weapp UI
|
|
|
|
|
|
- Uni-app 框架
|
|
|
|
|
|
|
|
|
|
|
|
## 🔧 开发规范
|
|
|
|
|
|
|
|
|
|
|
|
### 代码风格
|
|
|
|
|
|
- 使用 ESLint + Prettier 统一代码风格
|
|
|
|
|
|
- 遵循 Git Commit 消息规范
|
|
|
|
|
|
- 实行代码审查流程
|
|
|
|
|
|
|
|
|
|
|
|
### 分支策略
|
|
|
|
|
|
- 采用 Git Flow 工作流
|
|
|
|
|
|
- 功能分支开发
|
|
|
|
|
|
- 发布分支管理
|
|
|
|
|
|
|
|
|
|
|
|
## 🚀 部署说明
|
|
|
|
|
|
|
|
|
|
|
|
详细部署指南请参考 [DEPLOYMENT.md](docs/DEPLOYMENT.md),包含:
|
|
|
|
|
|
|
|
|
|
|
|
- 开发环境部署
|
|
|
|
|
|
- 测试环境部署
|
|
|
|
|
|
- 生产环境部署
|
|
|
|
|
|
- 容器化部署 (Docker)
|
|
|
|
|
|
- 安全配置指南
|
|
|
|
|
|
|
|
|
|
|
|
## 📞 支持与维护
|
|
|
|
|
|
|
|
|
|
|
|
### 开发团队
|
|
|
|
|
|
- 后端开发: backend@jiebanke.com
|
|
|
|
|
|
- 前端开发: frontend@jiebanke.com
|
|
|
|
|
|
- 小程序开发: miniprogram@jiebanke.com
|
|
|
|
|
|
|
|
|
|
|
|
### 运维支持
|
|
|
|
|
|
- 运维团队: ops@jiebanke.com
|
|
|
|
|
|
- 紧急联系: +86-138-0013-8000
|
|
|
|
|
|
|
|
|
|
|
|
## 📊 版本信息
|
|
|
|
|
|
|
|
|
|
|
|
- **当前版本**: v1.0.0
|
|
|
|
|
|
- **Node.js**: 16.20.2
|
|
|
|
|
|
- **Vue**: 3.3.4
|
|
|
|
|
|
- **MySQL**: 8.0.33
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
*最后更新: 2024年* 📅
|