Standards & Processes - ChrispyPeaches/FocusFriends GitHub Wiki

Processes

Task Management

  • Each userstory is created as a Github issue
  • Each userstory is recorded in the sprint planning spradsheet on Google Sheets
  • Team members update Github issues' statuses throughout the sprint
  • Team members update spreadsheet hours throughout the sprint

Pull Requests

  • Must be approved by two other team members
  • Must pass the build checks for both the API and the mobile app

Standup

  • Each team member records their updates in the Discord's #progressupdates text channel
  • Standup is held in person during class

Gitflow

Branches

  • main - The current release of the application
  • develop - Working and finished features
    • It is merged into main at the end of a sprint
    • Frequently merge this branch into your feature branch
    • ALWAYS merge this branch into your feature branch before making a pull request
      • This ensures your branch is up to date with develop
  • test - Deploys to the testing environment
    • NEVER merge this branch into any other branch
  • feature branches - An individual feature branch is generally created for every issue/userstory
    • Created/branched from develop

FocusFriends Gitflow Diagram.zip

Gitflow Diagram Draw.io file

FocusFriends Gitflow Diagram drawio

End of Sprint Routine

  • The day before a retrospective
    • Pull requests submitted after 10 AM will not be considered for this sprint
    • A release will be created at 6 PM before Sprint Retrospective
      • The release process involves merging develop into main
      • After this, pull requests will no longer be merged for this sprint

CI Flow

  • Whenever a there's a push to a branch, Github Actions will be automatically run to build FocusAPI and FocusApp (using android framework)
    • These will be used as status checks on pull requests so reviewers won't need to build the projects manually

CD Flow

This is discussed in the Test Environment Page