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.
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 | |
carp_mobile_sensing | The main CARP Mobile Sensing Framework | |
Packages | Data sampling packages | |
carp_apps_package | App sampling package (installed apps, app usage) | |
carp_connectivity_package | Connectivity sampling package (bluetooth, wifi, connectivity) | |
carp_communication_package | Communication sampling package (phone, sms) | |
carp_context_package | Context sampling package (location, activity, weather) | |
carp_audio_package | Audio sampling package (audio, noise) | |
carp_movisens_package | Movisens Move & ECG sampling package (movement, MET-level, ECG) | |
carp_esense_package | Sampling package for the eSense ear plug device (button pressed & movement) | |
carp_survey_package | Sampling package for collecting survey data from ResearchPackage | |
carp_health_package | Sampling package for collecting health data from Apple Health and Google Fit | |
Backends | Backend data upload components | |
carp_webservices | Flutter API for CARP web services | |
carp_backend | Support for uploading data to a CARP data backend as JSON. | |
carp_firebase_backend | Support for uploading data to Firebase as both zipped files and JSON data | |
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. |
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).
Please check existing issues and file any new issues, bugs, or feature requests in the carp.sensing-flutter repo.
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.