Contribution Guidelines - bounswe/bounswe2025group1 GitHub Wiki

Contribution Plan

Welcome. We made a reflection on our CmpE352 experience and performance, and decided to make some changes and improvements in our contribution policy.

1. Project Goals

For CmpE451, we would like to:

  • Maintain a clearer roadmap aligned with milestones.
  • Ensure higher code quality with tests.

2. Roadmap & Planning

We now officially use GitHub Projects to manage tasks.

  • Roadmap Views: Timeline for seeing the start dates and end dates of issues.
  • Board Views: Daily work grouped by status.

3. Workflow

  1. Branching Strategy

    • Main branches:

      • main → stable code. This branch is reserved only for milestones now. No direct pushes.
      • dev → integration branch, all features merge here first. No direct pushes.
    • Branch Naming Convention:

      • feature/<feature-description>
      • feature/task-creation-api
  2. Pull Requests

    • Must be linked to an Issue or Project item.
    • Must be made with the PR template.
    • Require at least 1 reviewer approval before merging (Unless there are merge conflicts). This number used to be 2 for CmpE352. We have reduced the number of reviewers to speed up the development process.
    • A branch must be deleted after PR.
    • A PR without unit tests must be rejected.
  3. Commit Message Convention

    • Add task creation endpoint
    • Correct null pointer in garden service

4. Issues

  • Issues have:
    • Clear description of the problem / feature.
    • Acceptance criteria.
    • Labels and type
    • Assignee. Avoid assigning too many people to one issue.
    • Start date, deadline.
    • Related milestone
    • Status

5. Testing

  • Every piece of code needs tests to be written along with it. PR's without unit tests must be rejected.

6. Further Information

  • For more technical details on how to build, test and run the project, please refer to the Contribution Guidelines document.