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

Plant-for-the-Planet

Allows you to plant trees with over 100 reforestation projects around the world.
https://github.com/Plant-for-the-Planet-org/treecounter-app

Keywords

climate-change plant plant-trees react react-native reforestation

Last synced: about 1 year ago
JSON representation

Acceptance Criteria

Repository metadata

Plant-for-the-Planet App allows you to plant trees with over 100 reforestation projects around the world.

README.md

Plant-for-the-Planet App

iOS build on MacOS Android build on Ubuntu

Welcome to this repository which contains the code of the web clients and the native iOS and Android apps of the Trillion Tree Campaign at https://www.trilliontreecampaign.org/ written with React-Native. For contributions please read our contribution guide as well as our code of conduct and the following information:

Directory Structure

ios houses the iOS project files, web houses the web configuration, assets and index.html, and android contains Android project files.The app contains the react code base for all platform i.e components, reducers, containers etc.

index.web.js is the entry point of web platform build, index.js is the entry point of both iOS and android platform build process.

Configuration

Copy .env.develop.sample to .env.develop and add the necessary API keys for your development environment.
Install nvm following instructions from https://github.com/nvm-sh/nvm#install--update-script
Run nvm install && nvm use to install and use required version of node.

Web Setup

!!! Web setup is deprecated. Please visit https://github.com/plant-for-the-Planet-org/planet-webapp

Run following commands

bash
npm install
npm start

To run the app as prod, useful for testing features like (hashed js/css):

npm run start-prod-server

iOS Setup

  • Install latest Xcode.
  • Run following commands
bash
brew install node
brew install watchman
npm install -g react-native-cli
npm install
cd ios && pod install

Running into iOS simulator

Build and run the app in development mode deployed from Metro Bundler in an iOS simulator (starts Metro Bundler automatically if not already running, also starts iOS simulator):

bash
npm run ios

If you have problems with a cached version of the bundle, you can stop the Metro Bundler and manually start it with the reset cache option:

react-native start --reset-cache

Android Setup

Steps for setting up Dev Env for android on MAC is as follows:

  • Install Latest Android Studio.
  • From Android studio’s SDK Manager add SDK 23, 27 and Build tool Version 23.0.1
  • Install JDK 8 if not already there and set JAVA_HOME specific to your JDK Version.
  • Create .bash_profile if not already there and add following variables in it:
bash
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
  • Run following commands
bash
brew install node
brew install watchman
npm install -g react-native-cli
npm install

Running into Android emulator

Build and run the app in development mode deployed from Metro Bundler (starts Metro Bundler automatically if not already running) on an emulator or device. You need to start an Android emulator or attach a device manually before:

bash
npm run android

If you have problems with a cached version of the bundle, you can stop the Metro Bundler and manually start it with the reset cache option:

react-native start --reset-cache

Development process

This project uses GitFlow (https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) with Master-Branch master and Development-Branch develop. The Master-Branch will be automatically released by CircleCI to the production system. There are currently some more protected branches also build by CircleCI automatically and mapped to test backends using the branch name as subdomain.

Versioning

App Versioning Guide

eg: Version M.F.B
V 1.1.10

M = Major Changes
F = Feature Addition
B = Critical Bug Fixes and Additions

Release candidate can have the target version number
V 1.1.11 RC 1

Beta and Alpha builds can also have target version number
V 1.1.11 B 12
V 1.1.11 A 12 [increment per release]

Supporters

The deployment and production of this app is also possible due to support from open-source software contributors.

      

      

      

      

Fixer.io

License

Plant-for-the-Planet App is free software, and is released under the terms of the GPL version 3 or (at your option) any later version. See license.txt.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: about 1 year ago

Total Commits: 4,814
Total Committers: 42
Avg Commits per committer: 114.619
Development Distribution Score (DDS): 0.806

Commits in past year: 13
Committers in past year: 1
Avg Commits per committer in past year: 13.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Norbert Schuler n****r@e****e 935
niteshgrg n****6@g****m 831
hkurra e****a@g****m 688
Harsh Vitra h****a@g****m 354
Mustak Ahmed m****5@g****m 326
haideralishah h****h@g****m 323
Aasaqt a****1@g****m 222
yllipetrovci y****i@g****m 146
Karan Hudia k****a@g****m 138
shubhi15sood s****d@g****m 129
sagararyal s****r@a****e 100
Apple a****e@A****l 76
sanjay radadiya s****1@g****m 72
hkurra h****1@g****m 72
ankitecd a****9@g****m 66
Chris Sattinger c****x@g****m 58
Jorgo Miridis j****o@m****m 53
bansallakshi b****7@g****m 41
shubhi a****e@a****l 36
Madhav m****2@g****m 23
Vijayant Saini v****3@g****m 16
Sarvesh Warge s****e@g****m 15
Harsh Vitra h****a@H****l 14
Sagar Aryal s****l@p****g 14
snyk-bot s****t@s****o 14
Shubhi Sood s****d@n****m 10
rabiul0420 r****0@g****m 8
Tejas Sonar t****7@g****m 5
Sagar Aryal s****r@P****l 5
ssood s****d@q****m 5
and 12 more...

Committer domains:


Issue and Pull Request metadata

Last synced: about 1 year ago

Total issues: 1,875
Total pull requests: 1,407
Average time to close issues: 3 months
Average time to close pull requests: 9 days
Total issue authors: 23
Total pull request authors: 29
Average comments per issue: 1.07
Average comments per pull request: 0.96
Merged pull request: 1,146
Bot issues: 0
Bot pull requests: 16

Past year issues: 34
Past year pull requests: 9
Past year average time to close issues: 26 days
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 0.18
Past year average comments per pull request: 0.0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 1

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/Plant-for-the-Planet-org/treecounter-app

Top Issue Authors

  • Plant-for-the-Planet (1,301)
  • norbertschuler (226)
  • sagararyal (190)
  • mahmed0715 (33)
  • crucialfelix (25)
  • bansallakshi (17)
  • jmiridis (13)
  • delightedMatt (12)
  • himpatel (11)
  • harshvitra (10)
  • niteshgrg (9)
  • Chiagozie-Udeh (5)
  • enoralecuyer (5)
  • haideralishah (4)
  • madhavgaba (3)

Top Pull Request Authors

  • niteshgrg (298)
  • hkurra (218)
  • norbertschuler (189)
  • sagararyal (124)
  • shubhi15 (94)
  • Aasaqt (79)
  • mahmed0715 (78)
  • harshvitra (70)
  • snyk-bot (55)
  • sanjayradadiya (25)
  • bansallakshi (23)
  • jmiridis (22)
  • crucialfelix (22)
  • yllipetrovci (22)
  • madhavgaba (20)

Top Issue Labels

  • bug (1,585)
  • bugsnag (1,288)
  • production (1,201)
  • 1.3.6 (211)
  • native (148)
  • 1.3.4 (128)
  • enhancement (124)
  • P1 (81)
  • Android (59)
  • backend (55)
  • client (52)
  • translation (43)
  • iOS (42)
  • Web (39)
  • 1.4.0 (36)
  • 1.3.7 (35)
  • tooling (34)
  • 1.4.7 (30)
  • 1.3.0 (19)
  • architecture (15)
  • 1.3.9 (15)
  • testflight (15)
  • 1.49.45 (14)
  • 1.49.58 (13)
  • 1.49.57 (12)
  • 1.4.8 (11)
  • 1.4.3 (9)
  • 1.49.43 (9)
  • dangling (8)
  • 1.4.6 (5)

Top Pull Request Labels

  • bug (81)
  • dependencies (16)
  • tooling (12)
  • translation (11)
  • Should we close this? (9)
  • old react-native version (6)
  • old-config version (4)
  • architecture (4)
  • backend (2)
  • Web (2)
  • client (1)
  • P1 (1)
  • Android (1)
  • iOS (1)

Dependencies

ios/Podfile.lock cocoapods
  • A0Auth0 2.13.1
  • BVLinearGradient 2.5.6
  • BugsnagReactNative 7.16.4
  • CocoaAsyncSocket 7.6.5
  • DoubleConversion 1.1.6
  • FBLazyVector 0.68.2
  • FBReactNativeSpec 0.68.2
  • Flipper 0.125.0
  • Flipper-Boost-iOSX 1.76.0.1.11
  • Flipper-DoubleConversion 3.2.0
  • Flipper-Fmt 7.1.7
  • Flipper-Folly 2.6.10
  • Flipper-Glog 0.5.0.4
  • Flipper-PeerTalk 0.0.4
  • Flipper-RSocket 1.4.3
  • FlipperKit 0.125.0
  • Google-Maps-iOS-Utils 2.1.0
  • GoogleMaps 3.5.0
  • OpenSSL-Universal 1.1.1100
  • Permission-BluetoothPeripheral 3.3.1
  • Permission-Calendars 3.3.1
  • Permission-Camera 3.3.1
  • Permission-Contacts 3.3.1
  • Permission-FaceID 3.3.1
  • Permission-LocationAccuracy 3.3.1
  • Permission-LocationAlways 3.3.1
  • Permission-LocationWhenInUse 3.3.1
  • Permission-MediaLibrary 3.3.1
  • Permission-Microphone 3.3.1
  • Permission-Motion 3.3.1
  • Permission-Notifications 3.3.1
  • Permission-PhotoLibrary 3.3.1
  • Permission-PhotoLibraryAddOnly 3.3.1
  • Permission-Reminders 3.3.1
  • Permission-Siri 3.3.1
  • Permission-SpeechRecognition 3.3.1
  • Permission-StoreKit 3.3.1
  • RCT-Folly 2021.06.28.00-v2
  • RCTRequired 0.68.2
  • RCTTypeSafety 0.68.2
  • RNCAsyncStorage 1.12.1
  • RNCMaskedView 0.1.11
  • RNCPicker 2.4.1
  • RNDateTimePicker 3.5.2
  • RNDeviceInfo 5.6.5
  • RNFS 2.20.0
  • RNGestureHandler 1.10.3
  • RNI18n 2.0.15
  • RNImageCropPicker 0.37.3
  • RNInAppBrowser 3.6.3
  • RNPermissions 3.3.1
  • RNReanimated 1.13.4
  • RNSVG 12.3.0
  • RNScreens 2.18.1
  • RNVectorIcons 6.7.0
  • React 0.68.2
  • React-Codegen 0.68.2
  • React-Core 0.68.2
  • React-CoreModules 0.68.2
  • React-RCTActionSheet 0.68.2
  • React-RCTAnimation 0.68.2
  • React-RCTBlob 0.68.2
  • React-RCTImage 0.68.2
  • React-RCTLinking 0.68.2
  • React-RCTNetwork 0.68.2
  • React-RCTSettings 0.68.2
  • React-RCTText 0.68.2
  • React-RCTVibration 0.68.2
  • React-callinvoker 0.68.2
  • React-cxxreact 0.68.2
  • React-jsi 0.68.2
  • React-jsiexecutor 0.68.2
  • React-jsinspector 0.68.2
  • React-logger 0.68.2
  • React-perflogger 0.68.2
  • React-runtimeexecutor 0.68.2
  • ReactCommon 0.68.2
  • SocketRocket 0.6.0
  • TOCropViewController 2.6.1
  • Yoga 1.14.0
  • YogaKit 1.18.1
  • boost 1.76.0
  • fmt 6.2.1
  • glog 0.3.5
  • libevent 2.1.12
  • react-native-blob-util 0.16.0
  • react-native-config 1.4.5
  • react-native-document-picker 3.5.4
  • react-native-geolocation 2.0.2
  • react-native-get-random-values 1.8.0
  • react-native-google-maps 0.29.4
  • react-native-image-picker 3.8.1
  • react-native-maps 0.29.4
  • react-native-netinfo 5.9.10
  • react-native-pager-view 5.4.15
  • react-native-pdf 6.5.0
  • react-native-safe-area-context 0.7.3
  • react-native-splash-screen 3.3.0
  • react-native-webview 11.18.2
  • toolbar-android 0.2.1
android/app/build.gradle maven
  • androidx.swiperefreshlayout:swiperefreshlayout 1.0.0 implementation
package-lock.json npm
  • 1401 dependencies
package.json npm
  • @babel/core ^7.16.0 development
  • @babel/runtime ^7.16.0 development
  • @react-native-community/eslint-config ^3.0.1 development
  • babel-eslint ^10.1.0 development
  • babel-jest ^26.6.3 development
  • babel-plugin-transform-remove-console ^6.9.4 development
  • babel-polyfill ^6.26.0 development
  • eslint ^7.32.0 development
  • eslint-plugin-json ^2.1.2 development
  • eslint-plugin-react ^7.26.1 development
  • eslint-plugin-react-native ^3.11.0 development
  • husky ^4.3.8 development
  • jest ^26.6.3 development
  • lint-staged ^10.5.4 development
  • metro-react-native-babel-preset ^0.67.0 development
  • prettier 1.19.1 development
  • prettier-eslint ^9.0.1 development
  • react-native-global-props ^1.1.5 development
  • react-test-renderer 17.0.2 development
  • reactotron-react-js ^3.3.7 development
  • reactotron-react-native ^4.0.3 development
  • reactotron-redux ^3.1.2 development
  • @bugsnag/js ^7.13.2
  • @bugsnag/react-native ^7.13.2
  • @esri/react-arcgis ^5.0.0
  • @kazzkiq/react-native-modalbox git+https://github.com/norbertschuler/react-native-modalbox.git
  • @react-native-community/async-storage ^1.8.1
  • @react-native-community/datetimepicker ^3.4.6
  • @react-native-community/geolocation ^2.0.2
  • @react-native-community/masked-view ^0.1.11
  • @react-native-community/netinfo ^5.9.10
  • @react-native-community/toolbar-android ^0.2.1
  • @react-native-picker/picker ^2.2.0
  • @snyk/protect ^1.940.0
  • autosuggest-highlight ^3.2.0
  • axios ^0.27.1
  • classnames ^2.3.1
  • cookie-cutter ^0.2.0
  • core-js ^3.19.1
  • crypto-js ^4.1.1
  • css-loader ^5.2.7
  • date-fns ^2.25.0
  • deprecated-react-native-listview 0.0.6
  • dotenv-webpack ^1.7.0
  • esri-loader ^2.16.0
  • events ^3.3.0
  • fbjs ^0.8.18
  • formik ^2.2.9
  • history ^4.10.1
  • i18next ^20.6.1
  • intl ^1.2.5
  • jwt-decode ^2.2.0
  • lodash ^4.17.21
  • normalizr ^3.6.0
  • prop-types ^15.7.2
  • react 17.0.2
  • react-async-script-loader ^0.3.0
  • react-autosuggest ^9.4.3
  • react-content-loader ^5.1.1
  • react-datepicker ^2.13.0
  • react-dom ^16.12.0
  • react-i18next ^11.13.0
  • react-modal ^3.14.3
  • react-native 0.68.2
  • react-native-animatable ^1.3.3
  • react-native-auth0 ^2.10.0
  • react-native-blob-util ^0.16.0
  • react-native-check-box ^2.1.7
  • react-native-collapsible ^1.6.0
  • react-native-config 1.4.5
  • react-native-device-info ^5.5.4
  • react-native-document-picker ^3.5.4
  • react-native-extended-stylesheet ^0.12.0
  • react-native-fs ^2.20
  • react-native-gesture-handler ^1.10.3
  • react-native-get-random-values ^1.7.0
  • react-native-google-places-autocomplete ^2.4.1
  • react-native-htmlview ^0.15.0
  • react-native-i18n ^2.0.15
  • react-native-image-carousel ^0.4.6
  • react-native-image-crop-picker ^0.37.3
  • react-native-image-picker ^3.8.1
  • react-native-inappbrowser-reborn ^3.6.3
  • react-native-keyboard-aware-scroll-view ^0.9.5
  • react-native-linear-gradient github:react-native-community/react-native-linear-gradient
  • react-native-map-clustering ^3.4.2
  • react-native-maps ^0.29.3
  • react-native-material-dropdown git+https://github.com/norbertschuler/react-native-material-dropdown.git
  • react-native-material-textfield git+https://github.com/norbertschuler/react-native-material-textfield.git
  • react-native-modal-datetime-picker ^8.9.3
  • react-native-modalbox ^2.0.2
  • react-native-pager-view ^5.4.8
  • react-native-pdf ^6.4.0
  • react-native-permissions ^3.1.0
  • react-native-popover-tooltip ^1.1.4
  • react-native-ratings ^6.5.0
  • react-native-raw-bottom-sheet ^2.0.6
  • react-native-reanimated ^1.13.3
  • react-native-root-toast 3.1.2
  • react-native-safe-area-context ^0.7.3
  • react-native-safe-area-view ^1.0.0
  • react-native-screens ^2.18.1
  • react-native-slick ^1.0.2
  • react-native-splash-screen ^3.2.0
  • react-native-svg ^12.3.0
  • react-native-svg-uri ^1.2.3
  • react-native-switch ^1.5.0
  • react-native-tab-view ^2.16.0
  • react-native-vector-icons ^6.7.0
  • react-native-webview ^11.14.2
  • react-navigation ^4.4.4
  • react-navigation-drawer ^2.7.1
  • react-navigation-redux-helpers ^4.0.1
  • react-navigation-stack ^2.10.4
  • react-navigation-tabs ^2.11.1
  • react-notifications ^1.4.3
  • react-recaptcha-v3 ^2.0.1
  • react-redux ^7.2.6
  • react-reveal ^1.2.2
  • react-router ^5.2.1
  • react-router-dom ^5.3.0
  • react-select ^3.2.0
  • react-share ^4.4.0
  • react-slick ^0.27.14
  • react-smartbanner ^5.1.4
  • react-stripe-elements ^6.1.0
  • react-tooltip ^4.2.21
  • react-youtube ^7.13.1
  • redux ^4.1.2
  • redux-actions ^2.6.5
  • redux-form ^8.3.0
  • redux-logger ^3.0.6
  • redux-thunk ^2.4.0
  • reselect ^4.1.2
  • rxjs ^6.6.7
  • rxjs-compat ^6.6.7
  • slick-carousel ^1.8.1
  • source-map-explorer ^2.5.2
  • tcomb-form ^0.9.21
  • tcomb-form-native git+https://github.com/norbertschuler/tcomb-form-native
  • tcomb-json-schema ^0.3.2
  • uuid ^7.0.1
  • yup ^0.32.11
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
.github/workflows/macos_build_ios.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
.github/workflows/ubuntu_build_android.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
ios/Podfile cocoapods
android/build.gradle maven

Score: 8.332789468417959