Files
jiebanke/docs/贡献指南.md

5.8 KiB
Raw Blame History

贡献指南

感谢您对结伴客项目的关注!我们欢迎所有形式的贡献,包括但不限于代码、文档、测试、反馈和建议。

🤝 如何贡献

报告问题

如果您发现了bug或有功能建议

  1. 检查 Issues 确认问题未被报告
  2. 创建新的 Issue详细描述问题或建议
  3. 使用合适的标签标记 Issue

提交代码

我们使用 Git Flow 工作流程:

  1. Fork 项目

    git clone https://github.com/your-username/jiebanke.git
    cd jiebanke
    
  2. 创建功能分支

    git checkout -b feature/your-feature-name
    
  3. 开发和测试

    • 遵循项目代码规范
    • 编写必要的测试
    • 确保所有测试通过
  4. 提交代码

    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 规范:

<类型>[可选的作用域]: <描述>

[可选的正文]

[可选的脚注]

类型说明:

  • feat: 新功能
  • fix: 修复bug
  • docs: 文档更新
  • 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+

快速开始

  1. 克隆项目

    git clone https://github.com/jiebanke/jiebanke.git
    cd jiebanke
    
  2. 安装依赖

    # 安装后端依赖
    cd backend && npm install
    
    # 安装前端依赖
    cd ../admin-system && npm install
    
  3. 配置环境变量

    # 复制环境变量模板
    cp backend/.env.example backend/.env
    cp admin-system/.env.example admin-system/.env
    
  4. 启动开发服务

    # 启动后端服务
    cd backend && npm run dev
    
    # 启动前端服务 (新终端)
    cd admin-system && npm run dev
    

📋 代码审查清单

提交 Pull Request 前,请确认:

功能性

  • 功能按预期工作
  • 处理了边界情况
  • 错误处理完善
  • 性能表现良好

代码质量

  • 代码风格符合规范
  • 变量和函数命名清晰
  • 代码结构合理
  • 避免重复代码

测试

  • 编写了必要的测试
  • 所有测试通过
  • 测试覆盖率达标
  • 手动测试通过

文档

  • 更新了相关文档
  • API文档保持同步
  • 注释清晰准确
  • README更新如需要

🎯 贡献领域

我们特别欢迎以下方面的贡献:

代码贡献

  • 新功能开发
  • Bug修复
  • 性能优化
  • 代码重构

文档贡献

  • API文档完善
  • 使用指南编写
  • 最佳实践分享
  • 多语言翻译

测试贡献

  • 单元测试编写
  • 集成测试完善
  • 性能测试
  • 安全测试

设计贡献

  • UI/UX设计优化
  • 交互体验改进
  • 视觉设计规范
  • 无障碍访问支持

🏆 贡献者认可

我们重视每一位贡献者的付出:

  • 贡献者将在项目README中被列出
  • 重要贡献者将获得项目维护者权限
  • 优秀贡献将在项目博客中专门介绍
  • 定期举办贡献者聚会和技术分享

📞 联系我们

如有任何问题,欢迎通过以下方式联系:

📜 行为准则

参与项目时,请遵守我们的行为准则

  • 尊重所有参与者
  • 保持友好和专业
  • 接受建设性批评
  • 关注项目整体利益
  • 遵守开源协议

再次感谢您的贡献!让我们一起打造更好的结伴客项目! 🚀

最后更新2024年1月