Running the app:
$ yarn start
For starting the app on a specific OS:
$ yarn ios | yarn android
Copy the 2 files that contain secrets and replace them with yours
$ cp .env.example .env
Eslint is used in the project to enforce code style and should be configured in your editor.
Prettier is also used and apply automatically by eslint
Typescript is used in the project for type-checking and should be configured in your editor.
You can check this manually by running:
$ yarn lint
$ yarn typescript
You can ask eslint to fix issues by running:
$ yarn lint:fix
Use the following command to run unit tests with coverage:
$ yarn test
Use the following to update unit tests
$ yarn test -u
Use the following to run unit tests in watch mode while developing:
$ yarn test --watch
Stories (*.story.tsx) can be automatically added to
storyLoader.js with :
$ yarn prestorybook
To place new
.md files inside
guides folder or modify existing guide and then run
node scripts/generate-guides.js to generate a new sustainable guide. Images can be used in the
.md as follow:
![Earth](earth.png) and should be place in
For methodology screen, just run
node scripts/generate-methodology.js to update
For emission info screen, just run
node scripts/generate-emission-info.js to update
You can help us with translate the app with our online tool POEditor. Any help is appreciate and no coding skills are needed
PS: please do not use send translations made by Google translate or similar.
node scripts/generate-translation-files.js in order to create the files needed for the new language you want to add to the app.
node scripts/poeditor/group-translation-files.js to generate 1 JSON file per language, with all the translation vars in it. From there, you can easily make any edit you want. When you're done, you can run
node scripts/poeditor/spread-translation-files.js to merge your edits and spread them into all the translation files across the repo.
Any tag starting with
v will runs expo publish. During this step
app.example.json is used to generate an
app.json file for expo's deployment, this is done with the following script
First you need to configure
SENTRY_DSN secrets on expo.dev and then define
app.config.js. Then run
npm install dotenv and place your secrets inside
.env file that you need to create with
SENTRY_DSN, like in
More than 40 developers have contribute to the app, thanks a lot to them!
Have a look to contributing.md if you want to contribute!
Repository and contributions are under GNU General Public License v3.0