214 lines
7.3 KiB
Markdown
214 lines
7.3 KiB
Markdown
# 解班客 - 宠物认领平台
|
||
|
||
一个基于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
|
||
|
||
## 🗂️ 项目结构
|
||
|
||
```
|
||
jiebanke/
|
||
├── README.md # 项目入口文档
|
||
├── docs/ # 项目文档目录
|
||
│ ├── 整个项目需求文档.md # 项目整体需求
|
||
│ ├── 官网需求文档.md # 官网需求
|
||
│ ├── 后端管理需求文档.md # 后端管理需求
|
||
│ ├── 管理后台需求文档.md # 管理后台需求
|
||
│ ├── 小程序app需求文档.md # 小程序需求
|
||
│ ├── 整个项目的架构文档.md # 项目整体架构
|
||
│ ├── 后端架构文档.md # 后端架构
|
||
│ ├── 小程序架构文档.md # 小程序架构
|
||
│ ├── 管理后台架构文档.md # 管理后台架构
|
||
│ ├── 数据库设计文档.md # 数据库设计
|
||
│ ├── 管理后台接口设计文档.md # 管理后台接口
|
||
│ ├── 小程序app接口设计文档.md # 小程序接口
|
||
│ ├── 后端开发文档.md # 后端开发指南
|
||
│ ├── 小程序app开发文档.md # 小程序开发指南
|
||
│ ├── 管理后台开发文档.md # 管理后台开发指南
|
||
│ ├── 后端管理开发文档.md # 后端管理开发指南
|
||
│ ├── 测试文档.md # 测试策略和规范
|
||
│ ├── 部署文档.md # 部署指南
|
||
│ ├── 运维文档.md # 运维手册
|
||
│ ├── 安全文档.md # 安全规范
|
||
│ └── 用户手册文档.md # 用户操作手册
|
||
├── admin-system/ # 管理后台目录
|
||
├── mini-program/ # 小程序app目录
|
||
├── backend/ # 后端服务目录
|
||
├── website/ # 官网目录
|
||
└── scripts/ # 脚本目录
|
||
├── database/ # 数据库脚本
|
||
├── deploy/ # 部署脚本
|
||
├── test/ # 测试脚本
|
||
└── ops/ # 运维脚本
|
||
```
|
||
|
||
## 📚 文档导航
|
||
|
||
### 需求文档
|
||
- [整个项目需求文档](./docs/整个项目需求文档.md) - 项目整体需求和功能规划
|
||
- [官网需求文档](./docs/官网需求文档.md) - 官网功能需求
|
||
- [后端管理需求文档](./docs/后端管理需求文档.md) - 后端管理系统需求
|
||
- [管理后台需求文档](./docs/管理后台需求文档.md) - 管理后台功能需求
|
||
- [小程序app需求文档](./docs/小程序app需求文档.md) - 小程序功能需求
|
||
|
||
### 架构文档
|
||
- [整个项目的架构文档](./docs/整个项目的架构文档.md) - 项目整体架构设计
|
||
- [后端架构文档](./docs/后端架构文档.md) - 后端服务架构
|
||
- [小程序架构文档](./docs/小程序架构文档.md) - 小程序架构设计
|
||
- [管理后台架构文档](./docs/管理后台架构文档.md) - 管理后台架构
|
||
|
||
### 详细设计文档
|
||
- [数据库设计文档](./docs/数据库设计文档.md) - 数据库表结构和关系设计
|
||
- [管理后台接口设计文档](./docs/管理后台接口设计文档.md) - 管理后台API接口
|
||
- [小程序app接口设计文档](./docs/小程序app接口设计文档.md) - 小程序API接口
|
||
|
||
### 开发文档
|
||
- [后端开发文档](./docs/后端开发文档.md) - 后端开发指南和任务计划
|
||
- [小程序app开发文档](./docs/小程序app开发文档.md) - 小程序开发指南和任务计划
|
||
- [管理后台开发文档](./docs/管理后台开发文档.md) - 管理后台开发指南和任务计划
|
||
- [后端管理开发文档](./docs/后端管理开发文档.md) - 后端管理开发指南和任务计划
|
||
|
||
### 运维文档
|
||
- [测试文档](./docs/测试文档.md) - 测试策略、用例和自动化测试
|
||
- [部署文档](./docs/部署文档.md) - 环境部署和配置指南
|
||
- [运维文档](./docs/运维文档.md) - 系统监控、维护和故障处理
|
||
- [安全文档](./docs/安全文档.md) - 安全策略和防护措施
|
||
- [用户手册文档](./docs/用户手册文档.md) - 用户操作指南
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 环境要求
|
||
- Node.js 18+
|
||
- MySQL 8.0+
|
||
- Redis 6.0+
|
||
- Docker & Docker Compose (可选)
|
||
|
||
### 本地开发
|
||
|
||
1. **克隆项目**
|
||
```bash
|
||
git clone https://github.com/your-org/jiebanke.git
|
||
cd jiebanke
|
||
```
|
||
|
||
2. **安装依赖**
|
||
```bash
|
||
# 后端服务
|
||
cd backend
|
||
npm install
|
||
|
||
# 管理后台
|
||
cd ../admin-system
|
||
npm install
|
||
|
||
# 小程序
|
||
cd ../mini-program
|
||
npm install
|
||
```
|
||
|
||
3. **配置环境**
|
||
```bash
|
||
# 复制环境配置文件
|
||
cp backend/.env.example backend/.env
|
||
cp admin-system/.env.example admin-system/.env
|
||
```
|
||
|
||
4. **启动服务**
|
||
```bash
|
||
# 启动后端服务
|
||
cd backend
|
||
npm run dev
|
||
|
||
# 启动管理后台
|
||
cd admin-system
|
||
npm run dev
|
||
|
||
# 启动小程序开发工具
|
||
cd mini-program
|
||
npm run dev
|
||
```
|
||
|
||
### Docker 部署
|
||
|
||
```bash
|
||
# 构建并启动所有服务
|
||
docker-compose up -d
|
||
|
||
# 查看服务状态
|
||
docker-compose ps
|
||
|
||
# 查看日志
|
||
docker-compose logs -f
|
||
```
|
||
|
||
## 📋 开发规范
|
||
|
||
- **代码规范**: 遵循 ESLint + Prettier 配置
|
||
- **提交规范**: 使用 Conventional Commits 格式
|
||
- **分支策略**: Git Flow 工作流
|
||
- **测试要求**: 单元测试覆盖率 ≥ 80%
|
||
- **文档更新**: 代码变更需同步更新文档
|
||
|
||
## 🤝 贡献指南
|
||
|
||
1. Fork 项目
|
||
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
|
||
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
||
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
||
5. 创建 Pull Request
|
||
|
||
## 📄 许可证
|
||
|
||
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情
|
||
|
||
## 📞 联系我们
|
||
|
||
- 项目维护者: [团队名称]
|
||
- 邮箱: contact@jiebanke.com
|
||
- 项目地址: https://github.com/your-org/jiebanke
|
||
- 文档地址: https://docs.jiebanke.com
|
||
|
||
---
|
||
|
||
**注意**: 详细的开发、部署和使用说明请参考 `docs/` 目录下的相关文档。 |