Repository for the NMF.earth React Native application, built with Expo, Redux Toolkit and Typescript.
Installing Dependencies:
$ yarnRunning the app:
$ yarn startFor starting the app on a specfic OS:
$ yarn ios | yarn androidCopy the 2 files that contains secrets and replace them with yours
$ cp app.example.json app.json
$ cp secret.example.ts secret.ts-
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 typechecking and should be configured in your editor.
You can check this manually by running:
yarn lintor
yarn typescriptYou can ask eslint to fix issues by running:
yarn lint:fixUse the following command to run unit tests with coverage:
$ yarn testUse the following to update unit tests
$ yarn test -uUse the following to run unit tests in watch mode while developing:
$ yarn test --watchStories (*.story.tsx) can be automatically added to storyLoader.js with :
$ yarn prestorybookTo place a 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 :  and should be place in assets/images/guide.
Same for methodology screen, just run node scripts/generate-methodology.js to update methodology.json from methodology.md.
Run node scripts/generate-translation-files.js in order to create the files needed for the new language you want to add to the app.
Any branches merged into master will trigger a github action that 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 scripts/generate-app-json.js.
Have a look here if you want to contribute!
π You can help us with translations with our online tool POEditor.
A big thank you to ChristopherΒ Gwilliams and to the Phelps family for their amazing contribution to the Kickstarter!
Repository and contributions are under GNU General Public License v3.0
