Update README.md
This commit is contained in:
@@ -16,54 +16,56 @@ Here --> you will find our [contributing guide](https://gitlab.com/bloodyhealth/
|
|||||||
|
|
||||||
## Development setup
|
## Development setup
|
||||||
|
|
||||||
1. Install [Android Studio](https://developer.android.com/studio/) - you'll need it to install some dependencies.
|
#### 1. Android Studio
|
||||||
|
|
||||||
1. Make sure you are running Node 10 (newer versions won’t work). It's easiest to switch Node versions using `nvm`, here’s how to do it:
|
Install [Android Studio](https://developer.android.com/studio/) - you'll need it to install some dependencies.
|
||||||
|
|
||||||
```
|
#### 2. Node version
|
||||||
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
|
|
||||||
$ nvm install v10
|
|
||||||
```
|
|
||||||
|
|
||||||
1. Clone this repository:
|
Make sure you are running Node 10 (newer versions won’t work). It's easiest to switch Node versions using `nvm`, here’s how to do it:
|
||||||
|
|
||||||
with SSH
|
|
||||||
|
|
||||||
```
|
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
|
||||||
$ git clone git@gitlab.com:bloodyhealth/drip.git
|
$ nvm install v10
|
||||||
```
|
|
||||||
|
|
||||||
or with HTTPS
|
|
||||||
|
|
||||||
```
|
#### 3. Get this repository
|
||||||
$ git clone https://gitlab.com/bloodyhealth/drip.git
|
|
||||||
```
|
Clone it with SSH
|
||||||
|
|
||||||
|
$ git clone git@gitlab.com:bloodyhealth/drip.git
|
||||||
|
|
||||||
|
or clone it with HTTPS
|
||||||
|
|
||||||
|
$ git clone https://gitlab.com/bloodyhealth/drip.git
|
||||||
|
|
||||||
and run
|
and run
|
||||||
|
|
||||||
```
|
$ cd drip
|
||||||
$ cd drip
|
$ npm install
|
||||||
$ npm install
|
|
||||||
```
|
|
||||||
|
|
||||||
1. Open Android Studio and click on "Open an existing Android Studio project". Navigate to the drip repository you cloned and double click the android folder. It detects, downloads and cofigures requirements that might be missing, like the NDK and CMake to build the native code part of the project. Also see the [nodejs-mobile repository](https://github.com/janeasystems/nodejs-mobile) for the necessary prerequisites for your system.
|
#### 4. More requirements from Android Studio
|
||||||
|
|
||||||
1. Either start a [virtual device in Android Studio](https://developer.android.com/studio/run/emulator) or [set your physical device like your Android phone up](https://developer.android.com/training/basics/firstapp/running-app) to run the app.
|
Open Android Studio and click on "Open an existing Android Studio project". Navigate to the drip repository you cloned and double click the android folder. It detects, downloads and cofigures requirements that might be missing, like the NDK and CMake to build the native code part of the project. Also see the [nodejs-mobile repository](https://github.com/janeasystems/nodejs-mobile) for the necessary prerequisites for your system.
|
||||||
|
|
||||||
|
#### 5. Run the app
|
||||||
|
|
||||||
|
Either start a [virtual device in Android Studio](https://developer.android.com/studio/run/emulator) or [set your physical device like your Android phone up](https://developer.android.com/training/basics/firstapp/running-app) to run the app.
|
||||||
|
|
||||||
1. Open a terminal and run
|
1. Open a terminal and run
|
||||||
```
|
```
|
||||||
$ npm run android
|
$ npm run android
|
||||||
```
|
```
|
||||||
|
|
||||||
1. To see logging output, run the following command in another tab:
|
1. To see logging output, run the following command in another tab:
|
||||||
```
|
```
|
||||||
$ npm run log
|
$ npm run log
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Run the following command and select enable hot reloading (see https://facebook.github.io/react-native/docs/debugging.html):
|
1. Run the following command and select enable hot reloading (see https://facebook.github.io/react-native/docs/debugging.html):
|
||||||
```
|
```
|
||||||
$ adb shell input keyevent 82
|
$ adb shell input keyevent 82
|
||||||
```
|
```
|
||||||
|
|
||||||
1. We recommend installing an [ESLint plugin in your editor](https://eslint.org/docs/user-guide/integrations#editors). There's an `.eslintrc` file in this project which will be used by the plugin to check your code for style errors and potential bugs.
|
1. We recommend installing an [ESLint plugin in your editor](https://eslint.org/docs/user-guide/integrations#editors). There's an `.eslintrc` file in this project which will be used by the plugin to check your code for style errors and potential bugs.
|
||||||
|
|
||||||
@@ -74,54 +76,54 @@ Make sure that you have Java 1.8 by running `java -version`.
|
|||||||
|
|
||||||
If you don't have Java installed, or your Java version is different, the app may not work. You can try just using Android Studio's Java by prepending it to your `$PATH` in your shell profile:
|
If you don't have Java installed, or your Java version is different, the app may not work. You can try just using Android Studio's Java by prepending it to your `$PATH` in your shell profile:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ export PATH="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin:${PATH}"
|
$ export PATH="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin:${PATH}"
|
||||||
```
|
```
|
||||||
|
|
||||||
Now, `which java` should output `/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java`, and the correct Java version should be used.
|
Now, `which java` should output `/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java`, and the correct Java version should be used.
|
||||||
|
|
||||||
#### [MacOS] Ninja
|
#### [MacOS] Ninja
|
||||||
If `npm` says `CMake was unable to find a build program corresponding to "Ninja".`:
|
If `npm` says `CMake was unable to find a build program corresponding to "Ninja".`:
|
||||||
```
|
```
|
||||||
$ brew install ninja
|
$ brew install ninja
|
||||||
```
|
```
|
||||||
|
|
||||||
### [MacOS] adb not on the path
|
### [MacOS] adb not on the path
|
||||||
If you get error messages about `adb` not being found on your path:
|
If you get error messages about `adb` not being found on your path:
|
||||||
```
|
```
|
||||||
$ ln -s ~/Library/Android/sdk/platform-tools/adb /usr/local/bin/adb
|
$ ln -s ~/Library/Android/sdk/platform-tools/adb /usr/local/bin/adb
|
||||||
```
|
```
|
||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
|
|
||||||
### Unit tests
|
### Unit tests
|
||||||
You can run the tests with:
|
You can run the tests with:
|
||||||
```
|
```
|
||||||
$ npm test
|
$ npm test
|
||||||
```
|
```
|
||||||
|
|
||||||
### End to end tests
|
### End to end tests
|
||||||
1. Check what testing device is specified in [package.json](https://gitlab.com/bloodyhealth/drip/blob/master/package.json) under:
|
1. Check what testing device is specified in [package.json](https://gitlab.com/bloodyhealth/drip/blob/master/package.json) under:
|
||||||
```
|
```
|
||||||
{"detox":
|
{"detox":
|
||||||
{"configurations":
|
{"configurations":
|
||||||
{"name": "NEXUS_DEVICE_OR_WHATEVER_SPECIFIED_DEVICE"}
|
{"name": "NEXUS_DEVICE_OR_WHATEVER_SPECIFIED_DEVICE"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
2. Check if the current device is already installed on your machine. Go to `cd ~/Android/sdk/emulator/` or wherever you have Android installed on your machine. Here you can run `./emulator -list-avds` and compare the devices with the one you found in step 1.
|
2. Check if the current device is already installed on your machine. Go to `cd ~/Android/sdk/emulator/` or wherever you have Android installed on your machine. Here you can run `./emulator -list-avds` and compare the devices with the one you found in step 1.
|
||||||
3. Open Android Studio and go to -> Tools -> AVD manager -> `+Create virtual device` and select the device checked in the previous step
|
3. Open Android Studio and go to -> Tools -> AVD manager -> `+Create virtual device` and select the device checked in the previous step
|
||||||
4. Use the emulator on your machine to run it without heavy Android Studio, e.g. in `~/Android/Sdk/emulator` OR chose to run the emulator within Android Studio
|
4. Use the emulator on your machine to run it without heavy Android Studio, e.g. in `~/Android/Sdk/emulator` OR chose to run the emulator within Android Studio
|
||||||
4.1 Here run: `$ ./emulator -avd NEXUS_DEVICE_OR_WHATEVER_SPECIFIED_DEVICE`
|
4.1 Here run: `$ ./emulator -avd NEXUS_DEVICE_OR_WHATEVER_SPECIFIED_DEVICE`
|
||||||
4.2 You might need to specify the following environment variables in your zsh or bash file according to where you have it installed. You can find exact path in Android Studio (Android Studio Preferences → Appearance and Behavior → System Settings → Android SDK). After adding environment variables, you might need to restart your terminal or source the modified bash profile (i.e. "source ~/.bash_profile").
|
4.2 You might need to specify the following environment variables in your zsh or bash file according to where you have it installed. You can find exact path in Android Studio (Android Studio Preferences → Appearance and Behavior → System Settings → Android SDK). After adding environment variables, you might need to restart your terminal or source the modified bash profile (i.e. "source ~/.bash_profile").
|
||||||
```
|
```
|
||||||
export ANDROID_HOME="/home/myname/Android/Sdk"
|
export ANDROID_HOME="/home/myname/Android/Sdk"
|
||||||
export ANDROID_SDK_ROOT="/home/myname/Android/Sdk"
|
export ANDROID_SDK_ROOT="/home/myname/Android/Sdk"
|
||||||
export ANDROID_AVD_HOME="/home/myname/.android/avd"
|
export ANDROID_AVD_HOME="/home/myname/.android/avd"
|
||||||
```
|
```
|
||||||
5. For the first time you need to get the app on the phone or if you run into this error:
|
5. For the first time you need to get the app on the phone or if you run into this error:
|
||||||
`'app-debug-androidTest.apk' could not be found`
|
`'app-debug-androidTest.apk' could not be found`
|
||||||
--> open a new 2nd tab and run (in your drip folder): `cd android and ./gradlew assembleAndroidTest`
|
--> open a new 2nd tab and run (in your drip folder): `cd android and ./gradlew assembleAndroidTest`
|
||||||
Otherwise just open a new 2nd tab to run (in your drip folder) `npm run android`
|
Otherwise just open a new 2nd tab to run (in your drip folder) `npm run android`
|
||||||
6. Open a new 3rd tab to run `./node_modules/.bin/detox test -c android.emu.debug`
|
6. Open a new 3rd tab to run `./node_modules/.bin/detox test -c android.emu.debug`
|
||||||
@@ -143,7 +145,7 @@ More information about how the app calculates fertility status and bleeding pred
|
|||||||
2. Download webfont from fontello
|
2. Download webfont from fontello
|
||||||
3. Copy both the content of `config.json` and `font.tff` into `assets/fonts`, replacing it with the current content of `config-drip-icon-font.json` and `drip-icon-font.tff`.
|
3. Copy both the content of `config.json` and `font.tff` into `assets/fonts`, replacing it with the current content of `config-drip-icon-font.json` and `drip-icon-font.tff`.
|
||||||
4. Now run the following command in your console:
|
4. Now run the following command in your console:
|
||||||
```
|
```
|
||||||
$ react-native link
|
$ react-native link
|
||||||
```
|
```
|
||||||
5. You should be able to use the icon now within drip, e.g. in Cycle Day Overview and on the chart.
|
5. You should be able to use the icon now within drip, e.g. in Cycle Day Overview and on the chart.
|
||||||
|
|||||||
Reference in New Issue
Block a user