Skip to content

Commit 47fcaa5

Browse files
authored
Merge pull request #1 from ninoguba/master
update my branch
2 parents b1c37ed + d4b024f commit 47fcaa5

11 files changed

+1159
-75
lines changed

README.md

Lines changed: 21 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,26 @@
11
# What is ionicResearchKit?
22

3-
An open source library equivalent of Apple's [ResearchKit Framework](https://github.com/ResearchKit/ResearchKit) built on [Ionic](https://github.com/driftyco/ionic) which makes it easy to create cross-platform hybrid native apps for medical research or for other research projects.
3+
An open source library equivalent of Apple's [ResearchKit Framework](https://github.com/ResearchKit/ResearchKit) built on [Ionic](https://github.com/driftyco/ionic) which makes it easy to create cross-platform hybrid native apps for medical or non-medical research and for other survey-type projects.
4+
5+
# App Showcase
6+
7+
- MIT Voice Up - allows users to track various aspects of their mental health through a series of survey questions and speech prompts.
8+
9+
[Get it on iTunes](https://itunes.apple.com/us/app/mit-voice-up/id1160735265?ls=1&mt=8)
10+
11+
[Get it on Google Play](https://play.google.com/store/apps/details?id=edu.mit.voiceup)
12+
13+
- Civique.org - the platform helps cities and organizations to create challenges on topics that matter to citizens and communities which also helps them document their cause, make sense of their data, and engage with people.
14+
15+
[Get it on iTunes](https://itunes.apple.com/ch/app/civique.org/id1119089346?mt=8)
16+
17+
[Get it on Google Play](https://play.google.com/store/apps/details?id=org.civique)
18+
19+
- Bites'n'Bits - a research project of the Ecole Polytechnique Fédérale de Lausanne which aims to understand the modes of consumption and the perception of food and beverages consumed in everyday life.
20+
21+
[Get it on iTunes](https://itunes.apple.com/us/app/bitesnbits/id1132530860?mt=8)
22+
23+
[Get it on Google Play](https://play.google.com/store/apps/details?id=org.civique.nrc&hl=en)
424

525
# Demo
626

@@ -26,13 +46,6 @@ An open source library equivalent of Apple's [ResearchKit Framework](https://git
2646
3. Add `ionicResearchKit` to your angular app module dependencies list.<br />
2747
`angular.module('myApp', ['ionicResearchKit']);`
2848

29-
# Dependencies
30-
31-
- checklist-model [https://github.com/vitalets/checklist-model](https://github.com/vitalets/checklist-model)
32-
- signature_pad [https://github.com/szimek/signature_pad](https://github.com/szimek/signature_pad)
33-
- angular-svg-round-progressbar [https://github.com/crisbeto/angular-svg-round-progressbar](https://github.com/crisbeto/angular-svg-round-progressbar)
34-
- pdfmake [https://github.com/bpampuch/pdfmake](https://github.com/bpampuch/pdfmake)
35-
3649
# Usage
3750

3851
1. Add a modal view to your app using [$ionicModal](http://ionicframework.com/docs/api/service/$ionicModal/)
@@ -300,68 +313,6 @@ The consent document PDF is automatically generated as a base64-encoded string a
300313

301314
`<irk-audio-task>` is the equivalent of the `ORKPredefinedActiveTask` class that is for audio capture and supports the `text`, `duration`, `auto-record`, `auto-complete`, and `optional` attributes.
302315

303-
# Roadmap
304-
305-
- [x] Task View
306-
- [ ] Navigable Tasks
307-
- [x] Survey directives
308-
- [x] Instruction Step
309-
- [x] Support optional image
310-
- [ ] Support video
311-
- [x] Scale Question Step
312-
- [ ] Support step bars
313-
- [ ] Support vertical orientation
314-
- [x] Boolean Question Step
315-
- [x] Text Question Step
316-
- [x] Multi lines
317-
- [x] Single line
318-
- [x] Text Choice Question Step
319-
- [x] Single choice
320-
- [x] Multiple choice
321-
- [x] Numeric Question Step
322-
- [x] Date Question Step
323-
- [x] Time Question Step
324-
- [ ] Time Interval Question Step
325-
- [x] Value Picker Question Step
326-
- [x] Image Choice Question Step
327-
- [x] Support icons
328-
- [x] Support images
329-
- [x] Form Step directive
330-
- [ ] Support more answer formats
331-
- [ ] Location Step
332-
- [ ] Validated Answer Step
333-
- [x] Consent directives
334-
- [x] Visual Consent
335-
- [x] In Document Only Type
336-
- [x] Support custom image
337-
- [x] Consent Sharing
338-
- [x] Consent Review
339-
- [x] Name Capture
340-
- [x] Signature Capture
341-
- [x] PDF Generation
342-
- [ ] Active Tasks directives
343-
- [x] Countdown Step
344-
- [x] Completion Step
345-
- [x] Tapping Speed Task
346-
- [x] Audio Task
347-
- [ ] Image Capture Task
348-
- [ ] Video Capture Task
349-
- [ ] Fitness Task
350-
- [ ] Gait and Balance Task
351-
- [ ] Spacial Memory Task
352-
- [ ] Charts
353-
- [ ] Accounts
354-
- [ ] Login Step
355-
- [ ] Registration Step
356-
- [ ] Wait Step
357-
- [ ] Passcode Step
358-
- [x] Results
359-
- [x] Output results in JSON
360-
- [ ] Collect results into LocalStorage (save/resume)
361-
- [ ] Integrations
362-
- [ ] HealthKit
363-
- [ ] Google Fit
364-
- [ ] Samsung S Health
365316

366317
License
367318
=======

package.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "ionicRK: ResearchKit for Hybrid Apps",
55
"dependencies": {
66
"gulp": "^3.5.6",
7-
"gulp-sass": "^1.3.3",
7+
"gulp-sass": "^2.0.4",
88
"gulp-concat": "^2.2.0",
99
"gulp-minify-css": "^0.3.0",
1010
"gulp-rename": "^1.2.0"
@@ -20,6 +20,12 @@
2020
"cordova-plugin-whitelist",
2121
"cordova-plugin-file",
2222
"cordova-plugin-inappbrowser",
23+
"cordova-plugin-camera",
24+
"cordova-plugin-geolocation",
25+
"cordova-plugin-media-capture",
26+
"cordova-plugin-pedometer",
27+
"cordova-plugin-tts",
28+
"cordova-plugin-device-motion",
2329
"ionic-plugin-keyboard",
2430
"cordova-plugin-compat",
2531
{

www/js/controllers.js

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,58 @@ angular.module('starter.controllers', [])
7474
});
7575
};
7676

77+
$scope.openModalImageActiveTask = function() {
78+
$ionicModal.fromTemplateUrl('templates/modal-activetasks-image.html', {
79+
scope: $scope,
80+
animation: 'slide-in-up'
81+
}).then(function(modal) {
82+
$scope.modal = modal;
83+
$scope.modal.show();
84+
});
85+
};
86+
87+
$scope.openModalVideoActiveTask = function() {
88+
$ionicModal.fromTemplateUrl('templates/modal-activetasks-video.html', {
89+
scope: $scope,
90+
animation: 'slide-in-up'
91+
}).then(function(modal) {
92+
$scope.modal = modal;
93+
$scope.modal.show();
94+
});
95+
};
96+
97+
$scope.openModalSpatialActiveTask = function() {
98+
$ionicModal.fromTemplateUrl('templates/modal-activetasks-spatial.html', {
99+
scope: $scope,
100+
animation: 'slide-in-up'
101+
}).then(function(modal) {
102+
$scope.modal = modal;
103+
$scope.modal.show();
104+
});
105+
};
106+
107+
$scope.openModalGaitBalanceActiveTask = function() {
108+
$ionicModal.fromTemplateUrl('templates/modal-activetasks-gait-balance.html', {
109+
scope: $scope,
110+
animation: 'slide-in-up'
111+
}).then(function(modal) {
112+
$scope.modal = modal;
113+
$scope.modal.show();
114+
});
115+
};
116+
117+
$scope.openModalFitnessTask = function() {
118+
$ionicModal.fromTemplateUrl('templates/modal-activetasks-fitness.html', {
119+
scope: $scope,
120+
animation: 'slide-in-up'
121+
}).then(function(modal) {
122+
$scope.modal = modal;
123+
$scope.modal.show();
124+
});
125+
};
126+
127+
128+
77129
$scope.closeModal = function() {
78130
$scope.modal.remove();
79131
};

www/lib/ionic-researchkit/ionic-researchkit.css

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,4 +314,54 @@ button.irk-image:before {
314314
.irk-spinner-audio-task svg {
315315
width: 100px;
316316
height: 100px;
317+
}
318+
319+
.irk-image-button-container {
320+
position: absolute;
321+
bottom: 150px;
322+
width: 100%;
323+
}
324+
325+
.irk-image-button {
326+
border-radius: 50%;
327+
height: 100px;
328+
width: 100px;
329+
}
330+
331+
.irk-spatial-tile-quiescent{
332+
height: 100px;
333+
width: 100px;
334+
}
335+
336+
.irk-spatial-tile-correct{
337+
background-color: #008CBA;
338+
height: 100px;
339+
width: 100px;
340+
}
341+
342+
.irk-spatial-tile-incorrect{
343+
background-color: #f44336;
344+
height: 100px;
345+
width: 100px;
346+
}
347+
348+
.irk-spatial-score-container{
349+
float:bottom;
350+
}
351+
352+
.irk-small-button{
353+
width: 20%;
354+
}
355+
356+
.irk-fitness-meters{
357+
font-size: 30px;
358+
margin-top:20px;
359+
margin-bottom:20px;
360+
vertical-align: middle;
361+
}
362+
363+
.irk-fitness-meters{
364+
font-size: 30px;
365+
vertical-align: bottom;
366+
margin-bottom:30px;
317367
}

0 commit comments

Comments
 (0)