/carp.sensing-flutter

CARP Mobile Sensing for Flutter, including mobile sensing framework, data backend support, and the CARP mobile sensing app.

Primary LanguageDartMIT LicenseMIT

CARP-Mobile-Sensing-Vertical

This repo hold the source code for the CACHET Research Platform (CARP) Mobile Sensing (CAMS) Flutter software. It contains the source code for CACHET first-party (i.e., developed by the core CACHET team) CAMS framework, its packages, and example apps.

In addition, the CARP team maintain a set of Flutter plugins (mainly) for sensing purposes. Flutter plugins enable access to platform-specific APIs. For more information about plugins, and how to use them, see the Flutter Packages description.

These plugins are also available on pub.

Software Components

These are the available CARP Mobile Sensing Flutter components in this repository.

Component Description Pub
Core Basic components
carp_core The CARP core domain model pub package
carp_mobile_sensing The main CARP Mobile Sensing Framework pub package
Packages Data sampling packages
carp_apps_package App sampling package (installed apps, app usage) pub package
carp_connectivity_package Connectivity sampling package (bluetooth, wifi, connectivity) pub package
carp_communication_package Communication sampling package (phone, sms) pub package
carp_context_package Context sampling package (location, activity, weather) pub package
carp_audio_package Audio sampling package (audio, noise) pub package
carp_movisens_package Movisens Move & ECG sampling package (movement, MET-level, ECG) pub package
carp_esense_package Sampling package for the eSense ear plug device (button pressed & movement) pub package
carp_survey_package Sampling package for collecting survey data from ResearchPackage pub package
carp_health_package Sampling package for collecting health data from Apple Health and Google Fit pub package
Backends Backend data upload components
carp_webservices Flutter API for CARP web services pub package
carp_backend Support for uploading data to a CARP data backend as JSON. pub package
carp_firebase_backend Support for uploading data to Firebase as both zipped files and JSON data pub package
Utilities Misc. CAMS utilities
carp_study_generator A simple command line interface (CLI) to upload study protocols, informed consent and localization files to the CARP backend.
Apps Misc. mobile sensing demo apps
carp_mobile_sensing_app Demonstrates how basic mobile sensing can be implemented in a Flutter app using CAMS.
pulmonary_monitor_app Demonstrates how user tasks (aka. AppTask) are supported in CAMS.

Documentation

The overall documentation on the software architecture of CARP Mobile Sensing, and how to use and extend it is available on this github wiki. Each of the specific packages also contain more specific documentation on how each package is used in the framework (e.g. how the Firebase data backend package is to be used).

Issues

Please check existing issues and file any new issues, bugs, or feature requests in the carp.sensing-flutter repo.

Contributing

Contributing is not entirely in place yet. However, if you wish to contribute a change to any of the existing components in this repo, please review our contribution guide, and send a pull request.