/P3-recipebox

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.

Primary LanguageCSS

P3-recipebox

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.

SOFTWARE ENGINEERING IMMERSIVE

P3: Full-Stack App Development

Task

You will be part of a team that will be building an app based on designs provided by the UX team.

GitHub Setup

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.

  1. Have the Team Lead make a new repo in their personal Github account.

  2. Add a develop branch on the remote repository:

  3. Now that you have a remote develop branch let's go ahead and set it as the default branch of our repository.

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

  5. In Settings, in the left menu, click Branches.

  6. Update the develop to be the default branch.

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

  8. Share the link for your new repo with your teammates in Slack.

  9. In GitHub, click on the Settings tab, and then navigate to Collaborators & Teams.

  10. Add your teammates as collaborators. You will need their personal GitHub usernames.

  11. Your team members should have received an invitation to collaborate via email.

  12. 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, NOT master.

Once a feature is ready, the team lead can merge develop into master.

  1. git checkout master
  2. git pull origin develop
  3. git merge develop
  4. git push origin master

Project Requirements (Sprint 1)

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)

Project Due Date: Friday: 6/26/20

Tips

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