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.
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
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
- Host: GitHub
- Owner: flare-kcl
- License: mit
- Language: TypeScript
- Default Branch: develop
- Homepage: https://www.kcl.ac.uk/research/flare
- Size: 29.6 MB
Statistics
- Stars: 6
- Watchers: 0
- Forks: 1
- Open Issues: 1
- Releases: 99
Topics
Metadata Files
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_URLandBASE_MEDIA_URLurls in the.envfile 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
- Repositories: 2
- Profile: https://github.com/flare-kcl
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
Dependencies
- 1266 dependencies
- @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
- actions/checkout v2 composite
- jimschubert/delete-artifacts-action v1 composite
- 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
- actions/checkout v2 composite
- actions/setup-node v1 composite
- 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 >= 0
- 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