If you want to make edit to this repository, make sure you're familiar with Typescript, CSS and React, with the exception of grammar fixes of course.
We use Geist-UI as our component library. You might want to read and get familier with it before starting your contribution.
We use Prettier as formatter. All jsx naming should follow Airbnb style, and all css classes should use dash-case with the exception of BEM naming. 2 spaces as indent.
To start your contribution follow the steps below
- Create a fork of this repo
- Git clone your fork to your machine
git clone url://to.your/github/fork.git
- Go into the src directory
cd src
- Install dependencies
npm install
- Preview the webpage
npm run dev
You can now go to https://localhost:3000 in your browser and it will update in real time.
- Make changes as you want
Tip: test pages on smaller width and both themes to make sure they have good compatibility. In the lib folder, there's dynamic-width.ts, which is an easy to use hook we made with full jsdoc documentation
- Commit your changes
git commit -m "concise message of the change"
Tip: you can set up code signing and add -S to the commit command above to get a verified check mark
- Push your changes
git push
- Create pull request on GitHub
It would help the review process go faster if you list changes in the pull request, with the exception of a single small change in the title and nothing in comment. List of changes should be concise but meaningful
[nothing]
❌ : What did you change? Reviewer need to guess what your code does
Make browsing experience better on mobile
❌ : better is subjective, and we still don't know what you did
Make pages respond to mobile screen
Meh : it's acceptable
Footer: implement adaptive layout on small screen
✔️ : Now we know why a file changed and what it's suppose to do.
Bad pull request messages won't cause it to get closed, but better messages will speed up the process and make merging faster.
Even if you're in the organisation, code should be reviewed and approved by another member before merging, with exceptions of fixing a build fail or security breach. Complete redesign of an existing webpage will need approval from team lead.