Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Admin Web App

Requirements

  • Git version >= 2.0.0

  • NodeJS version >= 10.0.0 < 15.0.0

  • Yarn version == 1.22.x

Installation

  1. Navigate to project root directory

    cd ~/dev/docker-projects/hiv/admin-web-app
  2. Run yarn to install node packages

    yarn install
  3. start your web client

    yarn start

Patient Service

Requirements

  • Git version >= 2.0.0

  • NodeJS version >= 10.0.0 && < 15.0.0

  • Yarn version >= 1.20.0

  • JDK OpenJDK or Standard Edition version >= 8 (10 is recommended)

  • Configure Android environment variables

    vi ~/.zshrc.local
    # vi ~/.bash_profile

    Add the following lines

    export ANDROID_HOME=$HOME/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

    Reload bash configuration (restart your terminal or run below command)

    source ~/.zshrc.local
    # source ~/.bash_profile
  • Configure iOS environment [TODO]

Note: If you previously installed a global react-native-cli, please remove it as it may cause unexpected issues: [sudo] npm remove -g react-native-cli

Development Setup

  1. Clone project to your development workspace

    git clone git@git.web-essentials.asia:hiv-tra-20/patient-app.git ~/dev/docker-projects/hiv/patient-app
  2. Navigate to project root directory

    cd ~/dev/docker-projects/hiv/patient-app
  3. Run yarn to install node packages

    yarn install
  4. Configure settings.js

    cp config/ansible/roles/deploy/templates/settings.js.j2 config/settings.js

    Edit file and replace/add value for:

    • isDebugMode = true // or false if you want to disable redux log print out

    • Set patient api URL apiBaseURL: 'http://your-computer-ip:8084/api'

    • Set admin api URL adminApiBaseURL: 'http://your-computer-ip:8082/api'

    • appVersion = '1.0.0-local'

  5. Start JS server with Metro Bundler

    yarn start
  6. Start your local emulator or plug with real mobile device

Android

  1. Configure build.gradle

    cp config/ansible/roles/deploy/templates/build.gradle.j2 android/build.gradle

    Edit file and replace value for:

    • majorApkVersion = 1

    • minorApkVersion = 0

    • patchApkVersion = 0

    • classifierApkVersion = "local"

  2. Start your local emulator or plug with real mobile device

  3. Deploy development app to online testing device(s): adb devices

    yarn android

    Note: if you have problem with missing ndk, please follow this instruction: Install NDK and check required version in file android/build.gradle

Build released app

Android (.apk)

It is an automated build on Jenkins, in which you can find the apk file(s) for each stage via: Download APK

iOS (.ipa)

It is manually built on Mac, in which you can find the ipa file(s) for each stage via: Download IPA

Release Android app to Play Store

Release iOS app to App Store

  • Navigate to

    cd ~/dev/docker-projects/hiv/patient-app/ios
  • Run pod install

    arch -x86_64 pod install
  • Build the app in Xcode

    • Now open project folder in Xcode and then navigate to ios directory and select the file which has extension .xcworkspace.

    • Click on General tab and navigate to identity and update the version.

    • It is time to archive the project so before an archive the project makes sure you have selected Generic iOS device in the top left corner of your window once you have done then navigate to Product → Archive once the app is successfully archived you will automatically get redirected to the Xcode Organizer window.

    • Once the app is successfully archived you will see a list of apps with the version in Xcode Organizer select this app click on the Distribute App.

    • You will see methods of distribution select iOS App Store and click on next.

    • You will see two method Upload or Export as we are going to upload app so select upload and click to next.

    • You will see two more options which are by default selected leave them as it is and click to next.

    • Once you clicked next it will take little time to identify your certificates and after that, you will see little details of your app which we are going to upload on the app store.

    • Now click Upload to upload your app on App Store, and it will take a little time to upload the app on app store. Once the app is an uploaded click on done and now it is time to login to App store.

    • Once your app is uploaded on test flight after that login to your app store account and click My Apps and navigate to Your app → Test Flight and here you will see your app with processing tag.

    • Once the processing is complete then you will see a warning icon like mentioned in image click on this icon and click again on Provide Export Compliance Information.

    • Now a pop up will appear which will ask you about Export Compliance Information in our case we did not have any encryption features so select No and click on Start Internal Testing and the app is going to be available on testing mode. You can test the app with test flight app available on App store and to test this app you need to add testers for this particular app on your App store account after that you can test your app.

Note: Go to config → setting.js and switch settings based on stage release.

Code check styles ESLint

We inherited code styles base from react native community

  • Overall check styles

    yarn lint
  • Check style for specific file

    yarn eslint /path/to/file/HomeTab.js

Useful commands

Android

  • Check connected authorized or unauthorized device(s)

    adb devices
  • Uninstall Android debug app from device(s)

    adb uninstall org.hi.patient

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.