Final project
Coding kickstart
Agenda
● Tech Stack
● Code overview
● Pull request guidelines
● Deployment
Tech Stack
Tech Stack
● Frontend
○ React + Vite
○ CSS framework of your choice (Consult with your tech lead)
○ State management of your choice
● Backend
○ [Link] + Express
○ Controller-router structure
● Database
○ MongoDB (Hosted in atlas)
○ Mongoose
The project repo
Root
[Link]
Server Client
[Link] [Link]
Routes Pages
Controllers Components
Make sure to install new packages in the correct folder.
Don’t install anything in the project root
Code overview
Pull Request Guidelines
Pull Request guideline #1
Keep your PRs small
Pull Request guideline #2
Provide a nice title and description.
Pull Request guideline #3
A single PR should focus on one thing only
PR 1: PR 2:
● Added login endpoint. ● Added login endpoint.
● Created login UI component.
● Fixed a problem with the customer
DB schema
PR 3:
● Added new font to the main page title ● Fixed a bug with a date format
Pull Request guideline #4
Assign appropriate reviewers
● I will assign Dan because he
● I will assign to Dan because he
worked on this code before.
reviews very fast.
● I will assign Jim because he is very
● I will assign to Jim because he
good with MongoDB.
never leaves any comments.
● I will assign Mary because we work
● I will assign to Mary because she
together on this feature
is my friend and will always
approve the PR
Pull Request guideline #5
Reviewing a PR? Don’t afraid to leave comments.
Ideas for comments:
Code Style Something is not clear?
● Typos or grammar. ● “How is this works?”
● Variable names. ● “Can you explain why do we need this if
● Very long or complicated functions. statement?”
● Something can be done easier or cleaner
Positive feedback like “Good job!”
Logical
● Missing error handling.
● Null check.
Pull Request guideline #6
Write a nice and constructive comments
● “This function is messy. Clean it up.” ● “The function is a bit unclear and hard to
read. Can we split this into different
● “This is not going to work” functions?”
● “This isn't how I would have done it, ● “I think it is a good idea to add a loading
but whatever.” spinner here.”
● “You never do Y. You must do X” ● “Nice ‘for’ loop! You can also use the built
in ‘[Link]()’ to make it shorter”
Pull Request guideline #7
Who is responsible for merging the PR?
● The person who created the PR is responsible merging it.
Pull Request guideline #8
How many reviewers need to approve the PR?
● 1 reviewer for groups of 3-4
● 2 reviewers for groups of 5
Other guidelines
Keep your branch up to date
Outdated branch will give you hard time solving merge conflicts
● git checkout develop
● git pull
● git checkout my-branch
● git merge develop
● solve possible conflicts
Remember: Keeping your branch up to date will make your
merge conflicts easier to solve.
Team member contributions
1 2 3
Take breaks!
● Don’t work 7 days a week
● Keep the 40 hour week guidance
● Decide on a day (or two) without stand ups or meetings
● Have enough rest
Deployment
Deployment
● Heroku
○ Auto deploy on every push
○ Preview deployments for each open PR