nmf-app
Understand and reduce your carbon footprint π± iOS & Android.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
βCITATION.cff file
-
βcodemeta.json file
Found codemeta.json file -
β.zenodo.json file
Found .zenodo.json file -
βDOI references
-
βAcademic publication links
-
βCommitters with academic emails
-
βInstitutional organization owner
-
βJOSS paper metadata
-
βScientific vocabulary similarity
Low similarity (14.9%) to scientific vocabulary
Keywords
Repository
Understand and reduce your carbon footprint π± iOS & Android.
Basic Info
- Host: GitHub
- Owner: NMF-earth
- License: gpl-3.0
- Language: TypeScript
- Default Branch: main
- Homepage: https://nmf-earth.github.io/
- Size: 8.93 MB
Statistics
- Stars: 531
- Watchers: 9
- Forks: 166
- Open Issues: 26
- Releases: 13
Topics
Metadata Files
README.md
π± NMF.earth app
Understand and reduce your carbon footprint

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:
bash
$ yarn
Running the app:
bash
$ yarn start
For starting the app on a specific OS:
bash
$ 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:
bash
$ yarn lint
or
bash
$ yarn typescript
You can ask eslint to fix issues by running:
bash
$ yarn lint:fix
π Testing
Use the following command to run unit tests with coverage:
bash
$ yarn test
Use the following to update unit tests
bash
$ yarn test -u
Use the following to run unit tests in watch mode while developing:
bash
$ yarn test --watch
π¨ Storybook
Stories (*.story.tsx) can be automatically added to storyLoader.js with :
bash
$ 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:  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
- Name: NMF.earth
- Login: NMF-earth
- Kind: organization
- Email: contact@nmf.earth
- Website: http://nmf.earth
- Repositories: 3
- Profile: https://github.com/NMF-earth
Understand and reduce your carbon footprint π± π
GitHub Events
Total
- Issues event: 4
- Watch event: 32
- Issue comment event: 5
- Push event: 3
- Pull request review event: 5
- Pull request review comment event: 4
- Pull request event: 1
- Fork event: 11
Last Year
- Issues event: 4
- Watch event: 32
- Issue comment event: 5
- Push event: 3
- Pull request review event: 5
- Pull request review comment event: 4
- Pull request event: 1
- Fork event: 11
Committers
Last synced: 6 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Pierre Bresson | P****n | 367 |
| 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 |
| CorneΜ 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 (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- 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 requests: 138
- Bot issues: 0
- Bot pull requests: 9
Past Year
- Issues: 2
- Pull requests: 1
- Average time to close issues: about 1 month
- Average time to close pull requests: 15 days
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 1.5
- Average comments per pull request: 1.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- PierreBresson (189)
- theolampert (10)
- ghost (4)
- DGrothe-PhD (2)
- adamfitzgibbon (2)
- teolemon (1)
- MartinDelille (1)
- EugenSong (1)
- matthieugendrin (1)
- a2br (1)
- SAISUDHEERREDDY (1)
- jonatasbaldin (1)
- RAMAR-RAR (1)
- petruspierre (1)
- evayde (1)
Pull Request Authors
- PierreBresson (45)
- theolampert (12)
- hb2708 (7)
- dependabot[bot] (7)
- BatDroid (7)
- ptbhatcoder (5)
- Michelalmeidasilva (5)
- adamfitzgibbon (5)
- akkikumar72 (4)
- lucienbl (4)
- EmersonPinheiro (3)
- ChengKangYee (3)
- a2br (3)
- gurvanhenry (3)
- devanshujain95 (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
- Total downloads: unknown
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 30
proxy.golang.org: github.com/NMF-earth/nmf-app
- Documentation: https://pkg.go.dev/github.com/NMF-earth/nmf-app#section-documentation
- License: gpl-3.0
-
Latest release: v0.10.0
published almost 3 years ago
Rankings
proxy.golang.org: github.com/nmf-earth/nmf-app
- Documentation: https://pkg.go.dev/github.com/nmf-earth/nmf-app#section-documentation
- License: gpl-3.0
-
Latest release: v0.10.0
published almost 3 years ago
Rankings
Dependencies
- @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
- 1866 dependencies
- Codesee-io/codesee-action v2 composite
- actions/checkout v2 composite
- actions/setup-node v2 composite
- expo/expo-github-action v7 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- borales/actions-yarn v3.0.0 composite