Skip to content

Latest commit

 

History

History
82 lines (70 loc) · 3.66 KB

README.md

File metadata and controls

82 lines (70 loc) · 3.66 KB

iola messenger

Install

  • yarn
  • Copy the .env file cp .env.sample .env and modify it

Development

  1. Run dev server: yarn start
  2. Select what you want to run:
  • App
    • Android
      • Logs: yarn log:android
      • Build app: yarn run:android
    • iOS
      • Logs: yarn log:ios
      • Build app: yarn run:ios
  • Storybook
    • Run storybook server: yarn storybook
  • React Developer Tools
    • install: npm install -g react-devtools
    • run: react-devtools
  1. yarn postinstall // TODO: remove when Apollo fix this: apollographql/apollo-client#3236

Tests

Investigate this: https://reactnativetesting.io/ TODO: Fill this section

Troubleshooting

  1. How to debug the subscriptions:
    • Start the subscription in the app
    • Run in the Postman (via GET): *DEV_PLATFORM_URL*/*INTEGRATION_PATH*/subscriptions/*streamId value from the subscriptions table (ow_esapi_subscription)* (for example: http://192.168.0.100/oxwall/iola/api/subscriptions/5f1e34db2cf318ae)
    • Run mutation that triggers the subscription (for example from GraphiQL interface)
  2. How to debug Java errors:
  • adb logcat *:E
  1. "Metro Bundler can't listen on port 8081" error (or "Error: listen EADDRINUSE :::7007")
    • sudo lsof -i :8081
    • kill -9 *PID from the previous command results*

Code style

  • Airbnb Code Style
  • Destructuring: in one line if length < 100 but in multiple lines if has default values

Demo/Production

  1. Setup the environment:
  • Common:
    • nvm with Node.js v10.15.3: nvm install 10.15.3 (used in prod build: /usr/local/opt/nvm/versions/node/v10.15.3/bin/node) // @DEPRECATED
    • Install Fastlane
    • bundle install
    • Fill the FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD in the .env file:
  • Android:
    • passwords.properties: cp android/passwords.properties.sample android/passwords.properties and fill it
    • debug.keystore: cd android/app; keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
  • iOS:
  1. Test the release app version:
  • Android
    1. Uninstall the previous version of the app you already have installed
    2. Build the .apk file + install it on emulator/device: yarn release:test:android
  • iOS: yarn fastlane:ios:beta
  1. Build the release app version (build the apk file):
  • Sometimes you'll need to cd android && ./gradlew clean before release
  • Android: yarn release:build:android
    • See: https://github.com/react-native-community/react-native-blur/issues/310#issuecomment-503816482
  • Get the new .aab (Android App Bundle) file here: ./android/app/build/outputs/bundle/applicationRelease
  • iOS: TODO

For future customizations

Global TODOs

  • After going live add the lint:fix action to pre-commit hook (via Husky)