/mindlogger-app

MindLogger (React Native) data collection app

Primary LanguageJavaScriptApache License 2.0Apache-2.0

MindLogger 0.5.16

Note: v0.1 is deprecated as of June 12, 2019.

This mobile app (Android ≥ 5.0 "Lollipop" and iOS ≥ 10.0 "Whitetail") is intended to build apps for collecting data for the Child Mind Institute

Bitrise Build Status

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system, or visit https://matter.childmind.org/MindLogger/demo#mobile-app for instructions to download the demo mobile app.

Widget development

See the widget development guide

Prerequisites

You need to have your own Girder instance running or leave your apiHost set to 'https://api.mindlogger.info' in app/config.

You need Node ≤10.11.0, npm ≥4.3.0 & ≤6.4.1, yarn ≥1.3.2 and React Native ≥0.49.3 to be installed. For example

npm -v
4.3.0
yarn -v
1.3.2
react-native -v
react-native: 0.49.3

You also need to have Xcode and Android Studio to be installed.

Installing

You need to install packages first.

yarn install

Link packages with React Native iOS and Android projects

react-native link

Deployment

iOS:

react-native run-ios

Android:

react-native run-android

Release build

Bitrise

Continuous integration: changes to the master branch will be automatically built through Bitrise.

fastlane (iOS)

iOS:

You can use fastlane From root directory of repository

cd ios
fastlane beta

It will archive release build for iOS and push to appstore. It will take several minutes.

Xcode (iOS)

Otherwise, you can build and archive manually using Xcode.

yarn (Android)

Android:

yarn prod-bundle
yarn prod-build

It will create app-release.apk in android/app/build/outputs folder

Built With

Contributing

  1. Check open issues for known issues and discussions.
  2. If your issus is not already listed, add your issue, optionally with :octocat: gitmoji.
  3. Clone this repository.
  4. If your issue already has a discussion, see if it has a branch. If so, checkout that branch before creating your own.
  5. Create a new branch to work in.
  6. When you're ready to submit your changes, update the version and submit a pull request from your branch to the branch you branched from (ie, the branch you checked out in step 4 above or master).
  7. One or more of the project developers will review your request and merge or request changes.

Versioning

Use Semantic Versioning 2.0.0. Always develop in a feature-specific branch and update the version (at least the patch version, but a higher-level version if appropriate) when submitting a pull request.

To increment a major or minor version, complete the relevant project board. Currently we're working on v0.1. v0.2 is on deck.

For this repository, the version exists in 4 places:

  1. This README
  2. package.json: version
  3. mindlogger-app/android/app/build.gradle
    1. versionName
    2. versionCode (integer: increment from previous build regardless of the rest of the version numbering)
  4. ios/MDCApp/Info.plist
    1. CFBundleShortVersionString
    2. CFBundleVersion (match to versionCode, above)

Authors

See also the list of contributors who participated in this project.

License

Apache 2.0