Workflows
Meetings
Weekly Meetings
In each week we will alternate between online meetings and offline dev sessions
Online meetings will be held on Discord and will be quite structured - give updates, address anything that needs to be discussed as a team
Offline dev sessions will be held on campus and are a great opportunity to hang out with the team and work on the project together - snacks will be provided :))
What days and the pattern of which weeks are online/offline are still TBD
Asynchronous Standups
You should also be posting a standup in the
#standups
channel on Discord each week so that the team and execs can get an idea of what’s going on with the projectThe format for these is:
What you did
What you will do
Any problems you need help with
Tools
If you have trouble accessing any of these let us know :)
Confluence
Where this page is!
We will have our meeting minutes in our Confluence space
This space also contains some important information about the Project
You can freely view and edit these pages
Jira
This is where you can find all the tasks that need to be completed and where your tasks will be assigned
There is a shortcut from the Confluence page
Can also access from here: https://compclub.atlassian.net/jira/software/projects/FREE/boards/6
Sprints are comprised of Tasks, which represent smaller distinct tasks to be complete as we progress towards completing the sprint
Typically assigned to 1 or 2 ppl
e.g. ‘Create home page’
Tasks may have Subtasks - these can be helpful if multiple are people assigned to a Task and you need to divide the work somehow
Each issue has a status, these are: TO DO, IN PROGRESS, PENDING REView and DONE
Jira can automatically move tickets to IN progress when you create a branch, then to PENDING REVIEW when you open a PR and finally done when the PR is merged
If the issue is not code related (e.g. design something) then you need to make sure to manually move them
GitHub
The Freerooms GitHub repository is here: GitHub - devsoc-unsw/freerooms: A web application designed to aid UNSW students in finding vacant rooms.
The
master
branch contains our most final codeFor any fix/feature you need to implement, create a separate branch
If the feature has a corresponding Jira ticket, make sure to name it accordingly! (see below)
Commit and push OFTEN !!! Please don’t wait till your whole task is complete to commit and/or push, commit for every small milestone (even if it doesn’t really work)
For your commit messages, you are mostly free to do what you want (just please, no one-word commit messages like “update”, they are so hard to read XD) - be descriptive!
Don’t push directly to master! When you are happy with your branch, open a pull request and assign reviewers (one of the directors, and one team member)
Make sure to comment your code to make your reviewer’s life easier
If you a reviewer: take the time to review carefully they are very important! If you see any improvements that can be made, can add a comment on the PR
Branch Naming Conventions
The format for branches is
<ticket>-<description>
<ticket>
: Optional. If there is a corresponding Jira ticket, put the ticket number at the front.<subject>
: Briefly describe what the branch is for
Examples:
FREE-23-landing-page
,FREE-51-filter-function
,map-fixes
Pull Request/Merge Commit Naming Conventions
The format for pull request names is
<type>(<scope>): <subject>
<type>
: The type of pull request. Examples include:feat
- new featurefix
- bug fixdocs
- changes to the documentationstyle
- formatting, missing semi colons, etc. (no code change)refactor
- refactoring code (changing code but not changing what it does) e.g. extracting duplicate code into a helper functiontest
- adding tests, refactoring testschore
- anything else e.g. updating the Dockerfile or other config files
<scope>
: Optional. The scope (e.g. the feature) that this pull request changes<subject>
: Briefly describe the changes made in the PR in future tense
Examples:
feat(map): dynamically load building markers
,fix(scraper): prevent scraping on every deploy
,chore(deps): update node.js to v19
Discord
This is where we will hold our online meetings
Important announcements and info about bonding events will be posted in the Freerooms
#announcements
channelDiscuss anything Freerooms related in the
#general
channel :))Try to use the Discord channel/make a thread when you need to discuss smth with ur partner for ur ticket
The
#technical
channel is for anything concerning deployment - if you want the Platform team to see smth post it hereThe
#jira
and#github
channels post any updates forwarded from Jira and GitHub