A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

NMF.earth app

iOS & Android app to understand and reduce your carbon footprint.
https://github.com/NMF-earth/nmf-app

Category: Emissions
Sub Category: Carbon Intensity and Accounting

Keywords

android climate-change expo functional-programming global-warming hacktoberfest ios openfoodfacts react-native redux-toolkit sustainability typescript zero-waste

Keywords from Contributors

carbon-footprint fashion nft purchases streaming

Last synced: about 12 hours ago
JSON representation

Repository metadata

Understand and reduce your carbon footprint 🌱 iOS & Android.

README.md

screenshots


Depfu
Contributor Covenant
Build Status
runs with expo

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

πŸ“Š Data source

Carbon data comes from NMF's carbon footprint repo while barcode product scanned data comes from Open Food Facts api.

πŸ“¦ Getting started

Installing Dependencies:

$ yarn

Running the app:

$ yarn start

For starting the app on a specific OS:

$ yarn ios | yarn android

πŸ‘©πŸΎβ€πŸ’» 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

or

$ 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 storyLoader.js with :

$ yarn prestorybook

πŸ“— Sustainable guide

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 assets/images/guide.

For methodology screen, just run node scripts/generate-methodology.js to update methodology.json from methodology.md.

For emission info screen, just run node scripts/generate-emission-info.js to update emission-info.json from assets/emission-info/markdown/*.md.

πŸ—£ Translations

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.

Generate

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.

Manage Files

Run 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 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 scripts/generate-app-json.js.

πŸ— Build

First you need to configure SENTRY_AUTH_TOKEN and SENTRY_DSN secrets on expo.dev and then define projectId in app.config.js. Then run npm install dotenv and place your secrets inside .env file that you need to create with SENTRY_AUTH_TOKEN and SENTRY_DSN, like in .env.example.

Run eas build -p ios to build for the App Store Connect and eas build -p android for the Google Play Console.

πŸ‘¨β€πŸ’» Contribute ❀️

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!

πŸ† 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


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 665
Total Committers: 55
Avg Commits per committer: 12.091
Development Distribution Score (DDS): 0.45

Commits in past year: 8
Committers in past year: 4
Avg Commits per committer in past year: 2.0
Development Distribution Score (DDS) in past year: 0.5

Name Email Commits
Pierre Bresson P****n 366
Theo Lampert t****t@g****m 40
Pierre Bresson p****n@M****l 24
adrianxx321 l****1@g****m 23
Adam Fitzgibbon f****r@h****m 17
akash.pathak a****2@g****m 16
a2br 6****r 16
hb2708 h****8@g****m 14
Alireza Ghamkhar m****r@g****m 13
Gurvan Henry g****y@g****m 11
Stijn Bernards s****s@e****l 10
NMF.earth 5****h 10
Prana Thirthahalli Bhat p****t@m****m 9
Pierre Bresson p****e@b****p 6
Petrus Pierre p****e@c****m 5
ChengKangYee j****3@g****m 5
Paulus Sujono p****s@p****m 5
Lucien Blunk-Lallet l****t@g****m 5
Corné Dorrestijn c****n@e****l 5
adrnliaw 5****w 3
Chris Gwilliams e****a@g****m 3
devanshujain95 d****5@g****m 3
Sai Vittal B s****b@g****m 3
Emerson Pinheiro e****s@h****m 3
michel almeida m****a@n****s 3
Stanislav s****v@s****m 3
Pierre Bresson p****n@P****l 3
codesee-maps[bot] 8****] 2
Stanislav s****a@y****u 2
Saurabh Chatterjee 2****3 2
and 25 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 221
Total pull requests: 174
Average time to close issues: 2 months
Average time to close pull requests: 6 days
Total issue authors: 18
Total pull request authors: 60
Average comments per issue: 1.67
Average comments per pull request: 1.37
Merged pull request: 138
Bot issues: 0
Bot pull requests: 9

Past year issues: 3
Past year pull requests: 3
Past year average time to close issues: 15 days
Past year average time to close pull requests: 5 days
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 1.0
Past year average comments per pull request: 1.0
Past year merged pull request: 3
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/NMF-earth/nmf-app

Top Issue Authors

  • PierreBresson (189)
  • theolampert (10)
  • ghost (4)
  • DGrothe-PhD (3)
  • adamfitzgibbon (2)
  • teolemon (1)
  • MechanikGamer (1)
  • MartinDelille (1)
  • EugenSong (1)
  • matthieugendrin (1)
  • a2br (1)
  • SAISUDHEERREDDY (1)
  • jonatasbaldin (1)
  • RAMAR-RAR (1)
  • petruspierre (1)

Top Pull Request Authors

  • PierreBresson (45)
  • theolampert (12)
  • hb2708 (7)
  • BatDroid (7)
  • dependabot[bot] (7)
  • ptbhatcoder (5)
  • Michelalmeidasilva (5)
  • adamfitzgibbon (5)
  • akkikumar72 (4)
  • lucienbl (4)
  • ChengKangYee (3)
  • Stanislavja (3)
  • EmersonPinheiro (3)
  • petruspierre (3)
  • devanshujain95 (3)

Top Issue Labels

  • πŸ†• Feature (92)
  • πŸ› Bug (44)
  • hacktoberfest (34)
  • 🏁 Good first issue (24)
  • 🍦 Nice to have (21)
  • 🚨 Urgent (13)
  • βš™οΈ Chore (11)
  • πŸ“‘ Documentation (6)
  • ⚑️ Performance (3)
  • πŸ€– Android (3)
  • 🎁 Stickers (3)
  • 🍎 iOS (1)

Top Pull Request Labels

  • hacktoberfest-accepted (7)

Package metadata

proxy.golang.org: github.com/NMF-earth/nmf-app

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/NMF-earth/nmf-app#section-documentation
  • Licenses:
  • Latest release: v0.10.0 (published about 2 years ago)
  • Last Synced: 2025-04-25T13:34:57.836Z (1 day ago)
  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 6.999%
    • Average: 8.173%
    • Dependent repos count: 9.346%
proxy.golang.org: github.com/nmf-earth/nmf-app

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/nmf-earth/nmf-app#section-documentation
  • Licenses:
  • Latest release: v0.10.0 (published about 2 years ago)
  • Last Synced: 2025-04-25T13:34:57.787Z (1 day ago)
  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 6.999%
    • Average: 8.173%
    • Dependent repos count: 9.346%

Dependencies

package.json npm
  • @babel/core 7.9.0 development
  • @storybook/addon-actions 5.2.8 development
  • @storybook/addon-knobs 5.3.19 development
  • @storybook/addon-links 5.2.8 development
  • @storybook/addon-ondevice-knobs 5.3.19 development
  • @storybook/addons 5.2.8 development
  • @storybook/react-native 5.2.8 development
  • @storybook/react-native-server 5.2.8 development
  • @types/i18n-js 3.0.2 development
  • @types/jest 25.2.1 development
  • @types/node 12.12.18 development
  • @types/ramda 0.26.39 development
  • @types/react 16.9.35 development
  • @types/react-native 0.63.2 development
  • @types/react-native-vector-icons 6.4.6 development
  • @types/react-redux 7.1.7 development
  • @types/react-test-renderer 16.9.2 development
  • @types/uuid 3.4.6 development
  • @types/webpack-env 1.15.0 development
  • @typescript-eslint/eslint-plugin 4.29.0 development
  • @typescript-eslint/parser 4.29.0 development
  • babel-loader 8.1.0 development
  • babel-plugin-module-resolver 4.0.0 development
  • babel-preset-expo 8.3.0 development
  • eslint 6.7.2 development
  • eslint-config-prettier 6.12.0 development
  • eslint-import-resolver-typescript 2.4.0 development
  • eslint-plugin-import 2.22.1 development
  • eslint-plugin-jest 23.8.2 development
  • eslint-plugin-prettier 3.1.4 development
  • eslint-plugin-react 7.17.0 development
  • eslint-plugin-react-hooks 4.1.2 development
  • front-matter 3.1.0 development
  • glob 7.1.6 development
  • husky 4.2.5 development
  • jest-expo 42.0.0 development
  • markdown-it 10.0.0 development
  • mockdate 3.0.5 development
  • prettier 2.1.2 development
  • prompt-sync 4.2.0 development
  • react-native-storybook-loader 1.8.1 development
  • typescript 4.3.5 development
  • @expo/vector-icons 12.0.0
  • @react-native-async-storage/async-storage 1.17.0
  • @react-native-community/datetimepicker 3.5.2
  • @react-native-community/masked-view 0.1.10
  • @react-native-community/slider 3.0.3
  • @react-navigation/bottom-tabs 5.11.2
  • @react-navigation/material-top-tabs 5.2.18
  • @react-navigation/native 5.7.5
  • @react-navigation/stack 5.12.8
  • @reduxjs/toolkit 1.5.1
  • carbon-footprint 1.6.0
  • expo 42.0.0
  • expo-application 3.2.0
  • expo-asset 8.3.3
  • expo-barcode-scanner 10.2.2
  • expo-constants 11.0.1
  • expo-device 3.3.0
  • expo-document-picker 9.2.4
  • expo-file-system 13.0.3
  • expo-font 9.2.1
  • expo-linking 2.3.1
  • expo-localization 10.2.0
  • expo-notifications 0.12.3
  • expo-sharing 9.2.1
  • expo-status-bar 1.0.4
  • expo-store-review 4.1.0
  • expo-updates 0.8.2
  • expo-web-browser 9.2.0
  • i18n-js 3.5.1
  • lodash.throttle 4.1.1
  • moment 2.24.0
  • ramda 0.27.0
  • react 16.13.1
  • react-dom 16.13.1
  • react-i18next 11.4.0
  • react-native https://github.com/expo/react-native/archive/sdk-42.0.0.tar.gz
  • react-native-collapsible 1.5.2
  • react-native-gesture-handler 1.10.2
  • react-native-globalize 3.0.0
  • react-native-keyboard-aware-scroll-view 0.9.3
  • react-native-modal-datetime-picker 8.5.4
  • react-native-progress 5.0.0
  • react-native-reanimated 2.2.0
  • react-native-render-html 5.1.0
  • react-native-safe-area-context 3.2.0
  • react-native-screens 3.4.0
  • react-native-svg 12.1.1
  • react-native-tab-view 2.15.1
  • react-redux 7.2.4
  • redux 4.1.0
  • redux-persist 6.0.0
  • redux-thunk 2.3.0
  • sentry-expo 4.0.1
  • uuid 3.4.0
yarn.lock npm
  • 1866 dependencies
.github/workflows/codesee-arch-diagram.yml actions
  • Codesee-io/codesee-action v2 composite
.github/workflows/publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
  • expo/expo-github-action v7 composite
.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • borales/actions-yarn v3.0.0 composite

Score: -Infinity