This doc serves as reference for how we'll work together and make sure we're working effectively.
We should work in Sprints to timebox our work and make sure we meet goals.
See Sprints.md for project schedule.
In "This Sprint" - Tickets next up will be at the top. Pull your next ticket from the top down as you move through the sprint.
Move the ticket to In Progress, and Assign yourself.
Create a branch that starts with the issue number, eg for issue #2 - Seed Sample Data, I'm going to create a branch named 2-seed-sample-data
on the project. The source branch will be master.
You can reference this doc for creating branches.
- check it out on your local machine
- start working the ticket.
Use development modes to get it working.
Do a bash start.sh
in your terminal and run your use case tests if the app comes up. If it all checks out, go ahead and commit/push to the branch you're working on.
Please also push regularly - losing changes stinks, and if your computer breaks - your code will be safely stored on github.
When you push to your branch, Travis-CI will execute the tests. You should get an email with the results, althogh you can also check from the branch's page directly eg
If you're not familiar with a PR - It's essentially a request for review you create for your code. It highlights differences between the source branch (your changes), and the target branch (main). It allows people to comment on the changes, and allows for designated approvers to approve, request changes, or reject the PR. It also provides an easy interface for merging the code.
Thanks to CI/CD, your tests will run again when a pull request is opened, and each time you make changes.
- Drop a message in the PR linking the issue to the PR, eg "Implements #4 - XYZ Ticket".
- Add the other project members as reviewers
The #4
will auto-link the PR to the issue, which will automatically move the ticket across the Kanban board as we work on the PR.
Please try to complete initial code reviews within 24 hours.
It's the person who created the ticket's job to follow up for feedback and merge once all approvers have passed.
We'll merge tickets in weekly sync's as needed.