Need help with nmf-app?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

262 Stars 105 Forks GNU General Public License v3.0 762 Commits 31 Opened issues


Understand and reduce your carbon footprint 🌱 iOS & Android.

Services available


Need anything else?

Contributors list

🌱 app

Understand and reduce your carbon footprint

app-store google-play



Depfu Contributor Covenant Build Status runs with expo

Repository for the React Native application, built with Expo, Redux Toolkit and Typescript. Design can be found on Figma.

📦 Getting started

Installing Dependencies:

$ yarn

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 app.example.json app.json
$ cp secret.example.ts secret.ts

👩🏾‍💻 Development

  • 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

🛠 Testing

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

🎨 Storybook

Stories (*.story.tsx) can be automatically added to

with :
$ yarn prestorybook

📗 Sustainable guide

To place new

files inside
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
as follow:
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

🗣 Translations

You can help us with translate the app with our online tool POEditor. Any help is appreciate and no coding skills are needed 🤗

The app supports fully or partially the following languages : English, French, German, Swedish, Danish, Russian, Portugal, Polish, Chinese and Malaysian.



node scripts/generate-translation-files.js
in order to create the files needed for the new language you want to add to the app.

Manage Files


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.

🚀 Deployment

Any tag starting with

will runs expo publish. During this step
is used to generate an
file for expo's deployment, this is done with the following script

🏗 Build


expo build:ios -t archive
to build for the App Store Connect and
expo build:android -t app-bundle
for the Google Play Console.

👨‍💻 Contribute ❤️

More than 30 developers have contribute to the app, thanks a lot to them!

Have a look to if you want to contribute!

🏆 Backers

A big thank you to Christopher Gwilliams and to the Phelps family for their amazing contribution to the Kickstarter!

©️ Open source - licence

Repository and contributions are under GNU General Public License v3.0

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.