Thanks for investing your time in contributing to Hawk Hacks Dashboard project for our hackers and mentors!
This document covers an overview of the contribution workflow from opening an issue, branch naming, creating a PR, reviewing and merging the PR.
To get an overview of the project, read the README file. Here is the list of tools you need to install before starting out:
Take a look at our Project Board for more details about the current focus of the project!
Let's start by explaining the folder structure for this project:
LaurierHawkHacks/Dashboard
|
|_ config/ -> firebase configuration files
|_ functions/ -> firebase functions
|_ public/ -> static assets that are not reference in source code
|_ src/
|_ assets/ -> static assets that are reference or imported in source code
|_ components/
| |_ Button/ -> each component should be in its own folder
| | |_ Button.tsx
| | |_ Button.module.css -> only if we can't use tailwind to style something
| | |_ Button.styles.ts
| | |_ Button.test.tsx
| |_ index.ts
|
|_ pages/
| |_ Landing/ -> follow the same structure as components
|
|_ index.css -> entry css file
|_ main.tsx -> entry react file
Before making a new issue, make sure there is no duplicate of the issue. If there is no existing issue for the problem create one using the issue form.
New Issue Checklist:
- Issue is not duplicated
- Descripting Title
- Description of the problem/feature
- Steps to replicate problem (if applicable)
- Assign correct labels
For this project, in general, we don't assign issues to anyone. If you find an issue that you can work on, you can assign yourself to the issue. Make sure to link your development branch to the issue.
As a general rule, always branch off from main
. If you need a specific feature that is being worked on, you can branch off from that but make sure to note down which one has to be merged first in the PR.
Here is the convention we have for branch names:
feature/issue-number/description
bugfix/issue-number/description
doc/issue-number/description
refactor/issue-number/description
release/version
A very simple example: feature/1/register-form
Pull request checklist:
- Does my PR have an appropriate title?
- Does my PR have at least two other developers in the team as reviewiers?
- Is my PR up to date with
main
and there are no merge clonficts?
When you PR has gotten 2 approvals, you are ready to merge the PR. As a general rule, we don't merge PRs in place of the creator of the PR. Keep an eye of your PRs and merge them when they are approved.
Congratulations, you made it! Thanks for reading through the contribution guide.