由于本次代码变更内容为空,无法生成有效的提交信息
This commit is contained in:
275
docs/贡献指南.md
Normal file
275
docs/贡献指南.md
Normal file
@@ -0,0 +1,275 @@
|
||||
# 贡献指南
|
||||
|
||||
感谢您对结伴客项目的关注!我们欢迎所有形式的贡献,包括但不限于代码、文档、测试、反馈和建议。
|
||||
|
||||
## 🤝 如何贡献
|
||||
|
||||
### 报告问题
|
||||
如果您发现了bug或有功能建议,请:
|
||||
|
||||
1. 检查 [Issues](https://github.com/jiebanke/jiebanke/issues) 确认问题未被报告
|
||||
2. 创建新的 Issue,详细描述问题或建议
|
||||
3. 使用合适的标签标记 Issue
|
||||
|
||||
### 提交代码
|
||||
我们使用 Git Flow 工作流程:
|
||||
|
||||
1. **Fork 项目**
|
||||
```bash
|
||||
git clone https://github.com/your-username/jiebanke.git
|
||||
cd jiebanke
|
||||
```
|
||||
|
||||
2. **创建功能分支**
|
||||
```bash
|
||||
git checkout -b feature/your-feature-name
|
||||
```
|
||||
|
||||
3. **开发和测试**
|
||||
- 遵循项目代码规范
|
||||
- 编写必要的测试
|
||||
- 确保所有测试通过
|
||||
|
||||
4. **提交代码**
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "feat: 添加新功能描述"
|
||||
git push origin feature/your-feature-name
|
||||
```
|
||||
|
||||
5. **创建 Pull Request**
|
||||
- 详细描述变更内容
|
||||
- 关联相关的 Issue
|
||||
- 等待代码审查
|
||||
|
||||
## 📝 开发规范
|
||||
|
||||
### 代码风格
|
||||
- **JavaScript/TypeScript**: 使用 ESLint + Prettier
|
||||
- **Vue**: 遵循 Vue 3 官方风格指南
|
||||
- **CSS**: 使用 BEM 命名规范
|
||||
- **文件命名**: 使用 kebab-case
|
||||
|
||||
### 提交消息规范
|
||||
使用 [Conventional Commits](https://www.conventionalcommits.org/zh-hans/v1.0.0/) 规范:
|
||||
|
||||
```
|
||||
<类型>[可选的作用域]: <描述>
|
||||
|
||||
[可选的正文]
|
||||
|
||||
[可选的脚注]
|
||||
```
|
||||
|
||||
**类型说明:**
|
||||
- `feat`: 新功能
|
||||
- `fix`: 修复bug
|
||||
- `docs`: 文档更新
|
||||
- `style`: 代码格式调整
|
||||
- `refactor`: 代码重构
|
||||
- `test`: 测试相关
|
||||
- `chore`: 构建过程或辅助工具的变动
|
||||
|
||||
**示例:**
|
||||
```
|
||||
feat(user): 添加用户头像上传功能
|
||||
|
||||
- 支持jpg、png格式
|
||||
- 自动压缩和裁剪
|
||||
- 添加上传进度显示
|
||||
|
||||
Closes #123
|
||||
```
|
||||
|
||||
### 分支命名规范
|
||||
- `feature/功能名称`: 新功能开发
|
||||
- `bugfix/问题描述`: bug修复
|
||||
- `hotfix/紧急修复`: 紧急修复
|
||||
- `docs/文档更新`: 文档更新
|
||||
|
||||
## 🧪 测试规范
|
||||
|
||||
### 单元测试
|
||||
- 使用 Jest 进行单元测试
|
||||
- 测试覆盖率应达到 80% 以上
|
||||
- 为核心业务逻辑编写测试
|
||||
|
||||
### 集成测试
|
||||
- 使用 Cypress 进行端到端测试
|
||||
- 覆盖主要用户流程
|
||||
- 确保跨浏览器兼容性
|
||||
|
||||
### 测试命令
|
||||
```bash
|
||||
# 运行所有测试
|
||||
npm test
|
||||
|
||||
# 运行单元测试
|
||||
npm run test:unit
|
||||
|
||||
# 运行集成测试
|
||||
npm run test:e2e
|
||||
|
||||
# 生成测试覆盖率报告
|
||||
npm run test:coverage
|
||||
```
|
||||
|
||||
## 🏗️ 项目结构
|
||||
|
||||
### 后端 (backend/)
|
||||
```
|
||||
backend/
|
||||
├── src/
|
||||
│ ├── controllers/ # 控制器
|
||||
│ ├── models/ # 数据模型
|
||||
│ ├── routes/ # 路由定义
|
||||
│ ├── services/ # 业务逻辑
|
||||
│ ├── middleware/ # 中间件
|
||||
│ └── utils/ # 工具函数
|
||||
├── tests/ # 测试文件
|
||||
└── docs/ # API文档
|
||||
```
|
||||
|
||||
### 前端 (admin-system/)
|
||||
```
|
||||
admin-system/
|
||||
├── src/
|
||||
│ ├── components/ # 公共组件
|
||||
│ ├── pages/ # 页面组件
|
||||
│ ├── stores/ # 状态管理
|
||||
│ ├── api/ # API接口
|
||||
│ ├── utils/ # 工具函数
|
||||
│ └── styles/ # 样式文件
|
||||
├── tests/ # 测试文件
|
||||
└── public/ # 静态资源
|
||||
```
|
||||
|
||||
## 🔧 开发环境搭建
|
||||
|
||||
### 环境要求
|
||||
- Node.js 16.x+
|
||||
- MySQL 8.0+
|
||||
- Redis 6.x+
|
||||
- Git 2.x+
|
||||
|
||||
### 快速开始
|
||||
1. **克隆项目**
|
||||
```bash
|
||||
git clone https://github.com/jiebanke/jiebanke.git
|
||||
cd jiebanke
|
||||
```
|
||||
|
||||
2. **安装依赖**
|
||||
```bash
|
||||
# 安装后端依赖
|
||||
cd backend && npm install
|
||||
|
||||
# 安装前端依赖
|
||||
cd ../admin-system && 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
|
||||
```
|
||||
|
||||
## 📋 代码审查清单
|
||||
|
||||
提交 Pull Request 前,请确认:
|
||||
|
||||
### 功能性
|
||||
- [ ] 功能按预期工作
|
||||
- [ ] 处理了边界情况
|
||||
- [ ] 错误处理完善
|
||||
- [ ] 性能表现良好
|
||||
|
||||
### 代码质量
|
||||
- [ ] 代码风格符合规范
|
||||
- [ ] 变量和函数命名清晰
|
||||
- [ ] 代码结构合理
|
||||
- [ ] 避免重复代码
|
||||
|
||||
### 测试
|
||||
- [ ] 编写了必要的测试
|
||||
- [ ] 所有测试通过
|
||||
- [ ] 测试覆盖率达标
|
||||
- [ ] 手动测试通过
|
||||
|
||||
### 文档
|
||||
- [ ] 更新了相关文档
|
||||
- [ ] API文档保持同步
|
||||
- [ ] 注释清晰准确
|
||||
- [ ] README更新(如需要)
|
||||
|
||||
## 🎯 贡献领域
|
||||
|
||||
我们特别欢迎以下方面的贡献:
|
||||
|
||||
### 代码贡献
|
||||
- 新功能开发
|
||||
- Bug修复
|
||||
- 性能优化
|
||||
- 代码重构
|
||||
|
||||
### 文档贡献
|
||||
- API文档完善
|
||||
- 使用指南编写
|
||||
- 最佳实践分享
|
||||
- 多语言翻译
|
||||
|
||||
### 测试贡献
|
||||
- 单元测试编写
|
||||
- 集成测试完善
|
||||
- 性能测试
|
||||
- 安全测试
|
||||
|
||||
### 设计贡献
|
||||
- UI/UX设计优化
|
||||
- 交互体验改进
|
||||
- 视觉设计规范
|
||||
- 无障碍访问支持
|
||||
|
||||
## 🏆 贡献者认可
|
||||
|
||||
我们重视每一位贡献者的付出:
|
||||
|
||||
- 贡献者将在项目README中被列出
|
||||
- 重要贡献者将获得项目维护者权限
|
||||
- 优秀贡献将在项目博客中专门介绍
|
||||
- 定期举办贡献者聚会和技术分享
|
||||
|
||||
## 📞 联系我们
|
||||
|
||||
如有任何问题,欢迎通过以下方式联系:
|
||||
|
||||
- **GitHub Issues**: [项目Issues页面](https://github.com/jiebanke/jiebanke/issues)
|
||||
- **邮箱**: dev@jiebanke.com
|
||||
- **微信群**: 扫描README中的二维码加入
|
||||
- **技术论坛**: [结伴客开发者社区](https://dev.jiebanke.com)
|
||||
|
||||
## 📜 行为准则
|
||||
|
||||
参与项目时,请遵守我们的[行为准则](CODE_OF_CONDUCT.md):
|
||||
|
||||
- 尊重所有参与者
|
||||
- 保持友好和专业
|
||||
- 接受建设性批评
|
||||
- 关注项目整体利益
|
||||
- 遵守开源协议
|
||||
|
||||
---
|
||||
|
||||
再次感谢您的贡献!让我们一起打造更好的结伴客项目! 🚀
|
||||
|
||||
*最后更新:2024年1月*
|
||||
Reference in New Issue
Block a user