This repo holds the source code for the Copenhagen Research Platform (CARP) Mobile Sensing (CAMS) Flutter software. It contains the source code for CARP first-party (i.e., developed by the core CARP team) CAMS framework, its packages, and example apps.
In addition, the CARP team maintains 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.
All the CARP Flutter components including the plugins are also available on pub.dev.
These are the available CARP Mobile Sensing Flutter components in this repository.
Component | Description | pub.dev |
---|---|---|
Core | Basic components | |
carp_serializable | A package for polymorphic serialization to/from JSON build on top of json_serializable | |
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_survey_package | Sampling package for collecting survey data from Research Package and running cognitive test using the Cognition Package | |
carp_health_package | Sampling package for collecting health data from Apple Health and Google Health Connect | |
Wearables | Sampling Packages for Wearable Devices | |
carp_movisens_package | Movisens Move & ECG sampling package (movement, MET-level, ECG) | |
carp_esense_package | Sampling package for the eSense earplug device (button pressed & movement) | |
carp_polar_package | Sampling package for the Polar heart rate monitors | |
carp_movesense_package | Sampling package for the Movesense heart rate monitors | |
Backends | Backend data upload components | |
carp_webservices | Flutter API for CARP Web Services (CAWS) | |
carp_backend | Data manager for uploading data to a CAWS data backend. | |
carp_firebase_backend | Data manager 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 a CAWS 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. Also demonstrates how to integrate wearable devices over BLE connections. | |
pulmonary_monitor_app | Demonstrates how user tasks (aka. AppTask) are supported in CAMS. |
The overall documentation of 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 contains more specific documentation on how each package is used in the framework (e.g. how the Movesense sampling 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.