Important note: we've been improving our docs for v2. Please refer to our discord or to this discussion if you face any problems while setting up the project.
Thanks! ❤️
- Node:
16.17.1
or higher. - Npm:
7.5.2
or higher.
Fork the project, then clone it:
git clone --branch v2 [email protected]:[your-github-user]/animavita.git
cd animavita
Install dependencies:
$ pnpm install
From the backend app level, copy the env file:
$ cp apps/backend/.env.example apps/backend/.env
We have a docker-compose
file that sets up a mongodb database. Just run:
$ docker-compose up -d
Alternatively you can setup your own mongo database without docker.
Build the shared packages:
$ pnpm --filter "./shared/**" run build
// Be aware that whenever you make a change on shared packages
// you must rebuild it. We are going to automate this soon.
Then, run the apps:
$ pnpm --filter backend start
$ pnpm --filter mobile start
We have a GitHub action to automatically generate an expo app preview so we can easily validate the changes. Due to security reasons you must set your own expo token on your fork secrets. Otherwise, when you open the PR the action will not be able to generate the QR code and you will get a check error.
- Go to https://expo.dev/ and login into your account. Create one if you don't have yet.
- Then, click on "Account settings" on the left sidebar
- Then, click on "Access tokens" on the left sidebar
- Create a new access token and set it on the secrets of your forked GitHub repository
- Prefer small pull requests focused on one change.
- Verify that typescript, eslint and all tests are passing.
- Preview the documentation to make sure it looks good.
- Follow the pull request template when opening a pull request.