flare-app

FLARe is a native mobile app that allows researchers to deliver fear conditioning tasks to participants and review the experiment data in a custom built web portal.

https://github.com/flare-kcl/flare-app

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords

fear-conditioning kings-college-london psychology research
Last synced: 6 months ago · JSON representation ·

Repository

FLARe is a native mobile app that allows researchers to deliver fear conditioning tasks to participants and review the experiment data in a custom built web portal.

Basic Info
Statistics
  • Stars: 6
  • Watchers: 0
  • Forks: 1
  • Open Issues: 1
  • Releases: 99
Topics
fear-conditioning kings-college-london psychology research
Created over 5 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Changelog License Citation

README.md

Important

Please note that the FLARe Research instance of the app is not currently being maintained by King's College London as of 2024/04/01.

FLARe Native App

What is FLARe?

FLARe is a native mobile app that allows researchers to deliver fear conditioning tasks to participants and review the experiment data in a custom built web portal.

Prerequisites

  • A MacOS development machine prepared for iOS and Android development (Guide: https://www.educative.io/edpresso/how-to-install-react-native-onmacos).
  • A knowledge of React.js structure.
  • Typescript familiarity would be recommended.

💻 Setup development enviroment

  • Clone the project: git clone https://github.com/flare-kcl/flare-app
  • Install NPM deps: npm i
  • Check native dependencies: npx @react-native-community/cli doctor
  • Install CocoaPods for iOS build: cd ios && pod install

Connecting App to portal

  • The app can connect to any FLARe portal hosted on an accesible domain. This can be done by changing the BASE_API_URL and BASE_MEDIA_URL urls in the .env file of the project. Once you make these changes you must recompile the app using XCode or Android Studio.

Note: If you are hosting the portal on your local machine and testing the app on a physical device then you must make that connection accesible to the device by using a local IP address aswell as reversing any ports on Android

📱 Running app using simulator

  • For Android: npm run android
  • For iOS: npm run ios

If the above command fails or you would like to run the app on a physical device then you need to open the app in Xcode or Android Studio for iOS or Android respectively. You can also refer to the React Native docs: https://reactnative.dev/docs/running-on-device

To open app in XCode (from terminal): xed ./ios To open app in XCode:

  • Open XCode
  • File > Open > {NAVIGATE TO FLARE REPO}/ios/FLARE.xcworkspace

To open app in Android Studio:

  • Open Android Studio
  • File > Open > {NAVIGATE TO FLARE REPO}/android

When running the app on android you will need to reverse the port number 8081 so that the app can communicate with the debugger: adb reverse tcp:8081 tcp:8081

For more detailed instructions, please check the Testing on device guide.

🔑 Authentication

To login and thefore start an experiment you will also need to have the FLARe Portal running on port 8000. To avoid this you can also use the Participant ID local.demo to load the hardcoded example experiment.

🐍 Testing

We lean heavily on tests in this project to reduce unpredicatble logic and UI bugs. If you would like to contribute to the codebase please continue to follow this methodology. Tests are written in Jest and RNTL. An example snapshot test can be seen here: Text Component Test

Troubleshooting

Working on an M1 Mac

Make sure CocoaPods is installed with Homebrew:

sudo gem uninstall cocoapods brew install cocoapods

This is to ensure that CocoaPods is installed with the compatible architecture.

Blank/green screen

The audio file might be failing to load. Run sudo pkill -9 coreaudiod and restart the simulator.

XCode build failing on M1 Mac

Check that node is accessible at /usr/local/bin/node. For some reason, XCode looks for node there specifically. Ensure it's the same version you're using to run npm run commands.

📝 Notes

Owner

  • Name: flare-kcl
  • Login: flare-kcl
  • Kind: organization

Citation (citation.cff)

cff-version: 1.1.0
message: If you use this software, please cite it as below.
authors:
  - family-names: McGregor
    given-names: Thomas
    orcid: https://orcid.org/0000-0003-0024-7049

  - family-names: Horrigan
    given-names: Nathan
    orcid: https://orcid.org/0000-0002-0008-0392

  - family-names: McGregor
    given-names: Thomas
    orcid: https://orcid.org/0000-0003-0024-7049

  - family-names: Purves
    given-names: Kirstin L.
    orcid: https://orcid.org/0000-0002-8110-5554

  - family-names: Cabuloy
    given-names: Mitchel
    orcid: https://orcid.org/0000-0003-4360-7833

  - family-names: Heasman
    given-names: Ben
    orcid: https://orcid.org/0000-0002-4199-5118

  - family-names: Vetch
    given-names: Paul
    orcid: https://orcid.org/0000-0002-1956-9120

  - family-names: Young
    given-names: Katherine S.
    orcid: https://orcid.org/0000-0002-1378-6415

  - family-names: Breen
    given-names: Gerome
    orcid: https://orcid.org/0000-0003-2053-1792

  - family-names: Eley
    given-names: Thalia C.
    orcid: https://orcid.org/0000-0001-6458-0700


title: "Fear Learning and Anxiety Response (FLARe)"
version: 1.2.0
doi: 10.5281/zenodo.4596341
date-released: 2021-03-12

GitHub Events

Total
  • Watch event: 1
  • Fork event: 1
Last Year
  • Watch event: 1
  • Fork event: 1

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 0
  • Total pull requests: 100
  • Average time to close issues: N/A
  • Average time to close pull requests: about 22 hours
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.01
  • Merged pull requests: 99
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • NathHorrigan (100)
Top Labels
Issue Labels
Pull Request Labels
enhancement (1)

Dependencies

package-lock.json npm
  • 1266 dependencies
package.json npm
  • @babel/core ^7.12.9 development
  • @babel/plugin-transform-react-jsx ^7.12.1 development
  • @testing-library/jest-native ^3.4.3 development
  • @testing-library/react-native ^7.0.2 development
  • @types/node ^16.11.10 development
  • @types/react 17.0.1 development
  • @types/react-dom 17.0.1 development
  • @types/react-native 0.64.3 development
  • @types/react-native-push-notification ^7.0.0 development
  • babel-jest ~25.2.6 development
  • babel-plugin-module-resolver ^4.0.0 development
  • husky ^4.3.0 development
  • jest ^26.6.3 development
  • jest-circus ^26.6.0 development
  • lint-staged ^10.4.2 development
  • prettier 2.1.2 development
  • react-test-renderer 17.0.1 development
  • typescript ~4.3.5 development
  • @react-native-async-storage/async-storage ^1.17.3
  • @react-native-community/clipboard ^1.5.1
  • @react-native-community/masked-view ^0.1.10
  • @react-native-community/netinfo 7.1.3
  • @react-native-community/push-notification-ios ^1.8.0
  • @react-native-picker/picker 2.2.1
  • @react-navigation/native ^5.7.6
  • @react-navigation/stack ^5.9.3
  • @reduxjs/toolkit ^1.4.0
  • @sentry/react-native ^3.4.1
  • @shopify/restyle 1.3.0
  • @types/jest ^26.0.15
  • camelcase-keys ^6.2.2
  • date-fns ^2.16.1
  • detox ^17.10.3
  • expo ^44.0.0
  • expo-av ~10.2.0
  • expo-constants ~13.0.1
  • expo-device ~4.1.0
  • expo-splash-screen ~0.14.1
  • expo-status-bar ~1.2.0
  • expo-updates ~0.11.6
  • expo-web-browser ~10.1.0
  • jest-expo ^44.0.0
  • lodash ^4.17.20
  • marked ^4.0.15
  • react 17.0.1
  • react-dom 17.0.1
  • react-native 0.64.3
  • react-native-actions-sheet ^0.4.2
  • react-native-autoheight-webview ^1.6.1
  • react-native-config ^1.4.5
  • react-native-date-picker ^3.2.5
  • react-native-dotenv ^2.4.1
  • react-native-fast-image ^8.3.4
  • react-native-gesture-handler ~2.1.0
  • react-native-get-random-values ~1.7.0
  • react-native-netinfo ^1.1.0
  • react-native-picker-select ^8.0.4
  • react-native-push-notification ~8.1.1
  • react-native-reanimated ~2.3.1
  • react-native-safe-area-context 3.3.2
  • react-native-screens ~3.10.1
  • react-native-spinkit ^1.5.1
  • react-native-textinput-effects ^0.6.1
  • react-native-unimodules ~0.15.0
  • react-native-url-polyfill ^1.2.0
  • react-native-web 0.17.1
  • react-native-webview ^11.15.0
  • react-redux ^7.2.1
  • redux-logger ^3.0.6
  • redux-persist ^6.0.0
  • redux-thunk ^2.3.0
  • ts-jest ^26.4.1
  • uuid ^8.3.2
.github/workflows/clean.yml actions
  • actions/checkout v2 composite
  • jimschubert/delete-artifacts-action v1 composite
.github/workflows/deployment.yml actions
  • actions/checkout v2 composite
  • actions/create-release v1 composite
  • actions/download-artifact v2 composite
  • actions/setup-node v1 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • actions/upload-release-asset v1 composite
  • joschi/setup-jdk v2 composite
  • olegtarasov/get-tag v2 composite
  • softprops/turnstyle v1 composite
.github/workflows/node.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v1 composite
.github/workflows/deployment-new.yml actions
  • actions/checkout v2 composite
  • actions/create-release v1 composite
  • actions/setup-java v2 composite
  • actions/setup-node v1 composite
  • actions/upload-release-asset v1 composite
  • ruby/setup-ruby v1 composite
fastlane/android/Gemfile rubygems
  • fastlane >= 0
fastlane/android/Gemfile.lock rubygems
  • CFPropertyList 3.0.2
  • addressable 2.7.0
  • atomos 0.1.3
  • aws-eventstream 1.1.0
  • aws-partitions 1.385.0
  • aws-sdk-core 3.109.1
  • aws-sdk-kms 1.39.0
  • aws-sdk-s3 1.83.1
  • aws-sigv4 1.2.2
  • babosa 1.0.4
  • bundler 2.1.4
  • claide 1.0.3
  • colored 1.2
  • colored2 3.1.2
  • commander-fastlane 4.4.6
  • declarative 0.0.20
  • declarative-option 0.1.0
  • digest-crc 0.6.1
  • domain_name 0.5.20190701
  • dotenv 2.7.6
  • emoji_regex 3.0.0
  • excon 0.78.0
  • faraday 1.1.0
  • faraday-cookie_jar 0.0.7
  • faraday_middleware 1.0.0
  • fastimage 2.2.0
  • fastlane 2.164.0
  • fastlane-plugin-versioning_android 0.1.0
  • gh_inspector 1.1.3
  • google-api-client 0.38.0
  • google-cloud-core 1.5.0
  • google-cloud-env 1.4.0
  • google-cloud-errors 1.0.1
  • google-cloud-storage 1.29.1
  • googleauth 0.14.0
  • highline 1.7.10
  • http-cookie 1.0.3
  • httpclient 2.8.3
  • jmespath 1.4.0
  • json 2.3.1
  • jwt 2.2.2
  • memoist 0.16.2
  • mini_magick 4.10.1
  • mini_mime 1.0.2
  • multi_json 1.15.0
  • multipart-post 2.0.0
  • nanaimo 0.3.0
  • naturally 2.2.0
  • os 1.1.1
  • plist 3.5.0
  • public_suffix 4.0.6
  • rake 13.0.1
  • representable 3.0.4
  • retriable 3.1.2
  • rouge 2.0.7
  • ruby2_keywords 0.0.2
  • rubyzip 2.3.0
  • security 0.1.3
  • signet 0.14.0
  • simctl 1.6.8
  • slack-notifier 2.3.2
  • terminal-notifier 2.0.0
  • terminal-table 1.8.0
  • tty-cursor 0.7.1
  • tty-screen 0.8.1
  • tty-spinner 0.9.3
  • uber 0.1.0
  • unf 0.1.4
  • unf_ext 0.0.7.7
  • unicode-display_width 1.7.0
  • word_wrap 1.0.0
  • xcodeproj 1.19.0
  • xcpretty 0.3.0
  • xcpretty-travis-formatter 1.0.0