- Install prerequisites:
- Node.js
v20.5.x
(preferably through nvm)- Install nvm (installation guide)
- Make sure you do not have any standalone Node.js installations when using nvm
- Make sure you run the nvm installation with administrative rights
- Run
nvm install
- Run
node --version
to verify
- Install nvm (installation guide)
- npm
v9.8.x
- It should have been installed alongside Node.js
- Run
npm --version
to verify
- Visual Studio Code (download link)
- When opening the project, you should receive a prompt to install recommended extensions
- Manually install extensions from
.vscode/extensions.json
if you skipped this
- Manually install extensions from
- When opening the project, you should receive a prompt to install recommended extensions
- Expo app on your smartphone (download link)
- Node.js
- Install project dependencies:
- Run
npm install
- You should see a message verifying that husky was set up
- If that was not the case, run
npx husky install
- If that was not the case, run
- You should see a message verifying that husky was set up
- Run
- Run the app:
- Run
npm run start
(optionally with theIP
environment variable to set the server address) - Scan the QR code with the Expo Go app
- Wait for the app to compile
- Run
You should now be ready to go 🎉
⚠️ The following description is extended to include all common troubleshooting steps. Feel free to skip some steps if you know what you are doing.
- Assign yourself to an issue in this repository
- All issues should be created from the project page
- Ensure the issue has specified labels, status and priority
- Create a new branch, either by
- (or)
git checkout -b <branch-name>
from an up-to-datemain
branch - (or) Going to the issue, and clicking "Create new branch" in the "Development" section in the sidebar
- (or)
- Ensure you are using the the correct Node.js/npm version:
nvm use
- Ensure you are using up-to-date dependencies:
npm install
- Develop your feature
- Move your task to the "In Progress" column
- Make sure to add test coverage whenever possible
- Check that you did not violate any conventions with
npm run lint
,npm run format
- Make sure that all tests are passing with
npm run test
- Commit your changes
- husky should ensure that your commit does not violate any coding conventions
- Feel free to add multiple commits to your feature, they will get squashed anyway
- Create a PR
- Move your task to the "In Review" column
- Notify the team that your change is pending review
- Feel free to create the PR before finishing and include "DRAFT" in its name
- Make sure your PR is ready to merge
- Wait for at least one review from another team member
- Wait for all CI actions to pass successfully
- Squash and merge! 🚀