This is a food recipe app that allows the user to select popular dishes and follow a step by step guide to making a delicious meal.
You will be part of a team that will be building an app based on designs provided by the UX team.
This will be very similar to what we did in our morning Group-Git-Lesson exercise. The only difference is the addition of a develop
branch for additional safety.
-
Have the Team Lead make a new repo in their personal Github account.
-
Now that you have a remote
develop
branch let's go ahead and set it as the default branch of our repository. -
Your default branch is named
master
. If you have admin rights over a repository on GitHub, you can change the default branch on the repository. Setting the default branch -
In Settings, in the left menu, click Branches.
-
Update the
develop
to be the default branch. -
Create branch protection rules like we did in our morning exercise:
- Click on settings and then branches
- Add rule to dev branch
- Check Require pull request reviews before merging
- Check Require view from Code Owners
- Save Changes
This will make it so the team lead has to review all changes and no one can accidentally push directly to master.
-
Share the link for your new repo with your teammates in Slack.
-
In GitHub, click on the Settings tab, and then navigate to Collaborators & Teams.
-
Add your teammates as collaborators. You will need their personal GitHub usernames.
-
Your team members should have received an invitation to collaborate via email.
-
All other members should clone the new repo. Do not fork!
At this point, all members should be able to make their own branches. A few things to keep in mind:
- When you go to push your code to the remote, remember to use the command
git push origin your-branch-name
. - When you are ready to make a pull request, double check that your head is set correctly. You should be making the PR on the
develop
branch in your team lead's repo. - The team lead should now handle pull requests as outlined in Group-Git-Lesson, but make sure they are all going to
develop
, NOTmaster
.
Once a feature is ready, the team lead can merge develop
into master
.
git checkout master
git pull origin develop
git merge develop
git push origin master
Your project must:
- Have a proportionate level of git commits from each team member (git commit regularly)
- Have the frontend deployed on Surge or Netlify
- Have the backend deployed on Heroku
- Deploy MongoDB database to MongoDB Atlas
- Include CRUD on the backend using Express, Mongoose, and MongoDB
- Use flexbox and/or css grid
- Use React Router
- Look like your mockup (or better)
- Be properly indented and spaced
- Not include commented out code in the
master
branch - Use camelCase for javascript code
- Include a beautiful, professional README.md (use markdown)
- Designate a team lead that is responsible for keeping the project organized.
- Use GitHub Projects to create tasks for each team member
- Deploy early (day one or two) and often (everytime you implement a new feature)
- Implement all project requirements first before moving on to post-mvp features
- Use high resolution images (do not skew images when resizing, resize proportionately)
- Make it look professional (this is for you to showcase - it could land you a job)