Expo React-Native development IDE for EarthGuardians.org
For development, it is recommended you have Node/NPM, Yarn, XCode and Android Studio for for iOS andAndroid development, respectively.
Install the Expo.io CLI tools globally:
npm install -g expo-cli
Download this repo, then execute the following commands:
cd earth-guardians
yarn install # installs base NPM packages for Expo
cd mobile/
yarn install # installs NPM packages for the project
yarn start
This will start the development server on http://localhost:19002/. Add -c
to clear cache.
From the web browser interface, in the left navigation area, click "Run on IOS Simulator" or "Run on Android device/emulator" or "Publish or republish project" to publish to a free Expo.io account.
This app was build using the Expo.io framework to generate both iOS and Android phone apps for EarthGuardians.org.
Expo offers "managed" and "ejected" versions of React-Native software. The earth-guardians
app uses the "managed" solution. "Ejected" solutions are platform specfic and remove the power of Expo to generate cross-platform apps. It is 'not recommended' to "eject" this project.
The backend of the app uses GraphQL and Prisma
The Production Prisma DB is located at https://eg-production-879cf73477.herokuapp.com/
The Profile Picuture feature in the app utilized Amazon Web Services S3
The buckets used are located at https://s3.console.aws.amazon.com/s3/buckets/eg-profile-pics-production/uploads/
The app is connected to Google Analytics and can be acessed with EarthGuardians.org credentials.
Modals must live on the App level, but the AppNavigator component will not allow properties to be passed early. To solve this the app uses the PubSub-JS package to handle internal messaging
See this solution for more information.