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
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