- Sprint 1 Product Owner: Hao, Xiyu
- Sprint 1 Scrum Master: Liao, Baiyi
-
Team members work together by communicating on our team groups at Discord and WeChat, reviewing each other's work on Github, and checking each other's progress via Standups.
-
If members need help from others or have conflicts, they need to report their problems on daily standups to the product owner and scrum master who support the team to come up with a solution. We expect team members to respond to messages within at most 2-3 hours.
-
Team's code of conduct is to use welcoming and inclusive language in communications and to show our respect, appreciation, and empathy for differences among members and members' viewpoints.
- The length of each sprint is 2 weeks.
- Sprint planning meetings last for 1-2 hours, including setting up a sprint backlog with user stories, planning poker cards, and managing a task board with tasks and spikes.
Here's our regular standup schedule (times are in military time):
Mondays and Wednesdays: 12:15, right before class at NYU Silver Building (i.e. in-person)
Fridays: 21:00 on Zoom.
Should there be any changes to the above schedule such as time change or additional standups, scrum master is to be informed no less than 24 hours in-advance, otherwise the regular meeting schedule will be honored.
- Members must meet in person for 15 minutes for standup meetings.
- During daily standup meetings, every member needs to answer three questions:
- What have you done since last time?
- What are you doing now?
- Is there anything blocking your progress?
- Scrum master records every member's progress and problems (answers to the above three questions) and post them on the daily standup channel on Discord.
Our team will follow the Feature Branch Version Control Workflow.
- Each developer have access to two repositories: a centralized remote repository on Github accessible by everyone on the team, a local clone of the remote repository.
- Before making any changes, pull from central repository and create a new local branch. The name of the branch should refer to the user story, task, or spike associated with the changes that will be made.
- Update the task board and make changes locally within your branch.
- Commit changes to the local branch.
- Push branch to remote repository.
- Issue pull request and notify other team members for peer review.
- Cleanup commit timeline before merging -- mark all small changes (in discretion of the peer reviewers) as
fixup
commits in Git and merge them with the major commits. - Merge to main branch and update the Task Board.
- Make sure that GitHub recognizes your device by registering your device via a
ed25519 SSH Key
. Here's the tutorial - Clone the project on our local IDE via
git clone
- Install the required dependencies by running
npm install
- Start the development server by running
npm start
- If you feel the need to make modification to the current codebase, be sure to read the contribution guidelines below.
- You should NEVER push your commits directly to the
master
branch unless otherwise instructed. - Always create a branch when you wish to modify the codebase, the request a
Pull Request
to merge your changes into the master branch afterpeer review
. - At all times, please be nice to all the contributors and stakeholders of this project as this is not a paid project and is the only way to facilitate effective communication and show love with each other!
Use the following command with git
to create a new branch:
git checkout -b your_new_branch_name
As a common practice, you should provide a meaning name for your branch, such as ui_overhaul
, fix_x_glitch
, updates_per_meeting_x
. NOT any random name.
Please refer to this article for commit message guidelines and AVOID one-line-change commits like "typo"/ "size adjust". Failing to adhere this guideline will result in being rebased by one of our team members and will need to buy others coffee for the next meetup.
You may open a Pull Request via GitHub when you wish to merge your changes into the master
branch. At least one member from the Team needs to participate in the peer review and greenlight your pull request.
Finally, when ready to merge, please use the squash and merge
feature before you execute the merge command on GitHub. Failing to do so might be yelled by Patrick (let's hope that he doesn't...) and will force him to clean up the commit history by obliterating through it with some override rights. (which might get the professor involved for it, not good!)
Add proper test cases via mocha
of node.js and be sure to modify .github/workflow
test scripts accordingly (if needed). In most cases, your tests are to be executed via npm test
.