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