[med-svn] [r-cran-fitcoach] 02/05: Imported Upstream version 1.0

Dylan Aïssi bob.dybian-guest at moszumanska.debian.org
Fri Nov 4 22:41:45 UTC 2016


This is an automated email from the git hooks/post-receive script.

bob.dybian-guest pushed a commit to branch master
in repository r-cran-fitcoach.

commit d7113f48b666a006fe62a5687da88a60cd478a08
Author: Dylan Aïssi <bob.dybian at gmail.com>
Date:   Thu Oct 27 23:29:07 2016 +0200

    Imported Upstream version 1.0
---
 DESCRIPTION                                        |  18 +
 MD5                                                | 148 ++++++
 NAMESPACE                                          |  43 ++
 R/DataLoader.R                                     | 135 ++++++
 R/FitAnalyzer.R                                    | 196 ++++++++
 R/FitUtil.R                                        | 505 +++++++++++++++++++++
 .../daily-time-series/max-activityCalories.json    |   1 +
 inst/extdata/daily-time-series/max-calories.json   |   1 +
 .../extdata/daily-time-series/max-caloriesBMR.json |   1 +
 inst/extdata/daily-time-series/max-distance.json   |   1 +
 inst/extdata/daily-time-series/max-elevation.json  |   1 +
 inst/extdata/daily-time-series/max-floors.json     |   1 +
 .../daily-time-series/max-minutesFairlyActive.json |   1 +
 .../max-minutesLightlyActive.json                  |   1 +
 .../daily-time-series/max-minutesSedentary.json    |   1 +
 .../daily-time-series/max-minutesVeryActive.json   |   1 +
 inst/extdata/daily-time-series/max-steps.json      |   1 +
 inst/extdata/daily-time-series/max-time31.json     |   1 +
 .../intra-calories-2015-12-10.json                 |   1 +
 .../intra-calories-2015-12-11.json                 |   1 +
 .../intra-calories-2015-12-12.json                 |   1 +
 .../intra-calories-2015-12-13.json                 |   1 +
 .../intra-calories-2015-12-14.json                 |   1 +
 .../intra-calories-2015-12-15.json                 |   1 +
 .../intra-calories-2015-12-16.json                 |   1 +
 .../intra-calories-2015-12-17.json                 |   1 +
 .../intra-calories-2015-12-18.json                 |   1 +
 .../intra-calories-2015-12-19.json                 |   1 +
 .../intra-calories-2015-12-20.json                 |   1 +
 .../intra-calories-2015-12-21.json                 |   1 +
 .../intra-calories-2015-12-22.json                 |   1 +
 .../intra-calories-2015-12-23.json                 |   1 +
 .../intra-calories-2015-12-24.json                 |   1 +
 .../intra-calories-2015-12-25.json                 |   1 +
 .../intra-calories-2015-12-26.json                 |   1 +
 .../intra-calories-2015-12-27.json                 |   1 +
 .../intra-calories-2015-12-28.json                 |   1 +
 .../intra-calories-2015-12-29.json                 |   1 +
 .../intra-calories-2015-12-30.json                 |   1 +
 .../intra-distance-2015-12-10.json                 |   1 +
 .../intra-distance-2015-12-11.json                 |   1 +
 .../intra-distance-2015-12-12.json                 |   1 +
 .../intra-distance-2015-12-13.json                 |   1 +
 .../intra-distance-2015-12-14.json                 |   1 +
 .../intra-distance-2015-12-15.json                 |   1 +
 .../intra-distance-2015-12-16.json                 |   1 +
 .../intra-distance-2015-12-17.json                 |   1 +
 .../intra-distance-2015-12-18.json                 |   1 +
 .../intra-distance-2015-12-19.json                 |   1 +
 .../intra-distance-2015-12-20.json                 |   1 +
 .../intra-distance-2015-12-21.json                 |   1 +
 .../intra-distance-2015-12-22.json                 |   1 +
 .../intra-distance-2015-12-23.json                 |   1 +
 .../intra-distance-2015-12-24.json                 |   1 +
 .../intra-distance-2015-12-25.json                 |   1 +
 .../intra-distance-2015-12-26.json                 |   1 +
 .../intra-distance-2015-12-27.json                 |   1 +
 .../intra-distance-2015-12-28.json                 |   1 +
 .../intra-distance-2015-12-29.json                 |   1 +
 .../intra-distance-2015-12-30.json                 |   1 +
 .../intra-elevation-2015-12-10.json                |   1 +
 .../intra-elevation-2015-12-11.json                |   1 +
 .../intra-elevation-2015-12-12.json                |   1 +
 .../intra-elevation-2015-12-13.json                |   1 +
 .../intra-elevation-2015-12-14.json                |   1 +
 .../intra-elevation-2015-12-15.json                |   1 +
 .../intra-elevation-2015-12-16.json                |   1 +
 .../intra-elevation-2015-12-17.json                |   1 +
 .../intra-elevation-2015-12-18.json                |   1 +
 .../intra-elevation-2015-12-19.json                |   1 +
 .../intra-elevation-2015-12-20.json                |   1 +
 .../intra-elevation-2015-12-21.json                |   1 +
 .../intra-elevation-2015-12-22.json                |   1 +
 .../intra-elevation-2015-12-23.json                |   1 +
 .../intra-elevation-2015-12-24.json                |   1 +
 .../intra-elevation-2015-12-25.json                |   1 +
 .../intra-elevation-2015-12-26.json                |   1 +
 .../intra-elevation-2015-12-27.json                |   1 +
 .../intra-elevation-2015-12-28.json                |   1 +
 .../intra-elevation-2015-12-29.json                |   1 +
 .../intra-elevation-2015-12-30.json                |   1 +
 .../intra-floors-2015-12-10.json                   |   1 +
 .../intra-floors-2015-12-11.json                   |   1 +
 .../intra-floors-2015-12-12.json                   |   1 +
 .../intra-floors-2015-12-13.json                   |   1 +
 .../intra-floors-2015-12-14.json                   |   1 +
 .../intra-floors-2015-12-15.json                   |   1 +
 .../intra-floors-2015-12-16.json                   |   1 +
 .../intra-floors-2015-12-17.json                   |   1 +
 .../intra-floors-2015-12-18.json                   |   1 +
 .../intra-floors-2015-12-19.json                   |   1 +
 .../intra-floors-2015-12-20.json                   |   1 +
 .../intra-floors-2015-12-21.json                   |   1 +
 .../intra-floors-2015-12-22.json                   |   1 +
 .../intra-floors-2015-12-23.json                   |   1 +
 .../intra-floors-2015-12-24.json                   |   1 +
 .../intra-floors-2015-12-25.json                   |   1 +
 .../intra-floors-2015-12-26.json                   |   1 +
 .../intra-floors-2015-12-27.json                   |   1 +
 .../intra-floors-2015-12-28.json                   |   1 +
 .../intra-floors-2015-12-29.json                   |   1 +
 .../intra-floors-2015-12-30.json                   |   1 +
 .../intra-steps-2015-12-10.json                    |   1 +
 .../intra-steps-2015-12-11.json                    |   1 +
 .../intra-steps-2015-12-12.json                    |   1 +
 .../intra-steps-2015-12-13.json                    |   1 +
 .../intra-steps-2015-12-14.json                    |   1 +
 .../intra-steps-2015-12-15.json                    |   1 +
 .../intra-steps-2015-12-16.json                    |   1 +
 .../intra-steps-2015-12-17.json                    |   1 +
 .../intra-steps-2015-12-18.json                    |   1 +
 .../intra-steps-2015-12-19.json                    |   1 +
 .../intra-steps-2015-12-20.json                    |   1 +
 .../intra-steps-2015-12-21.json                    |   1 +
 .../intra-steps-2015-12-22.json                    |   1 +
 .../intra-steps-2015-12-23.json                    |   1 +
 .../intra-steps-2015-12-24.json                    |   1 +
 .../intra-steps-2015-12-25.json                    |   1 +
 .../intra-steps-2015-12-26.json                    |   1 +
 .../intra-steps-2015-12-27.json                    |   1 +
 .../intra-steps-2015-12-28.json                    |   1 +
 .../intra-steps-2015-12-29.json                    |   1 +
 .../intra-steps-2015-12-30.json                    |   1 +
 man/DataLoader.Rd                                  |  47 ++
 man/FitAnalyzer.Rd                                 |  33 ++
 man/augmentData.Rd                                 |  19 +
 man/augmentIntraData.Rd                            |  19 +
 man/buildChartDay.Rd                               |  20 +
 man/buildChartIntra.Rd                             |  20 +
 man/connectToAPI.Rd                                |  23 +
 man/createDependentVariableFrame.Rd                |  17 +
 man/createGoalVariableVector.Rd                    |  17 +
 man/createIntraFrame.Rd                            |  15 +
 man/createTsMasterFrame.Rd                         |  20 +
 man/fetchIntraResourceData.Rd                      |  22 +
 man/getAPIScope.Rd                                 |  16 +
 man/getDailyResourcePathList.Rd                    |  15 +
 man/getIntradayResourcePathList.Rd                 |  15 +
 man/makeAPIRequest.Rd                              |  26 ++
 man/markValidRows.Rd                               |  18 +
 man/properCase.Rd                                  |  18 +
 man/writeToJSON.Rd                                 |  23 +
 tests/testthat.R                                   |   4 +
 tests/testthat/test-fitanalyzer.R                  |  51 +++
 tests/testthat/test-fitutil.R                      |  45 ++
 vignettes/examples/fitcoach-usage.Rmd              | 220 +++++++++
 vignettes/examples/fitcoach-usage.html             | 403 ++++++++++++++++
 vignettes/summary.Rmd                              |  37 ++
 vignettes/summary.html                             | 124 +++++
 149 files changed, 2449 insertions(+)

diff --git a/DESCRIPTION b/DESCRIPTION
new file mode 100644
index 0000000..15921e7
--- /dev/null
+++ b/DESCRIPTION
@@ -0,0 +1,18 @@
+Package: fitcoach
+Type: Package
+Title: Personalized Coach for Fitbit and R API
+Version: 1.0
+Author: Niraj Juneja [aut, cre], Charles de Lassence [aut, cre]
+Maintainer: Niraj Juneja <njuneja at gmail.com>
+Description: Fitbit R API <https://dev.fitbit.com/> that provides fitbit coach functionality by analyzing your data obtained via fitbit API calls, and by giving personalized recommendations for the rest of the day based on your behavior.
+License: GPL-3
+Depends: R (>= 3.2.3)
+Imports: caret, dplyr, gbm, ggplot2, httr, jsonlite, plyr, R6, stats,
+        graphics, methods, reshape2
+LazyData: TRUE
+Suggests: testthat, knitr
+RoxygenNote: 5.0.1
+NeedsCompilation: no
+Packaged: 2016-04-18 23:05:26 UTC; webscale
+Repository: CRAN
+Date/Publication: 2016-04-19 08:12:01
diff --git a/MD5 b/MD5
new file mode 100644
index 0000000..2c873f3
--- /dev/null
+++ b/MD5
@@ -0,0 +1,148 @@
+6690c2a18b955e4ae07a963d4a3a3dbf *DESCRIPTION
+048c7f9fbd9cd783fd041f7598fbabd4 *NAMESPACE
+e01facbb1a21cd984170b465b185363b *R/DataLoader.R
+fa333565a02759bc3ac930dcd9559774 *R/FitAnalyzer.R
+06bc3ed2125ce057d6a086a75334a704 *R/FitUtil.R
+e05a566b792beddc9c872dfe546365e1 *inst/extdata/daily-time-series/max-activityCalories.json
+2d021c358af01feaae5ce3cce03f7b56 *inst/extdata/daily-time-series/max-calories.json
+08fe798d92e0c8b11eed75eb603e554a *inst/extdata/daily-time-series/max-caloriesBMR.json
+bc039c1ce805ca2de589a46156871883 *inst/extdata/daily-time-series/max-distance.json
+c1f623d1a05970046f08c871d2e9ec8e *inst/extdata/daily-time-series/max-elevation.json
+7c4afc32933b350e1569c6918f7eec40 *inst/extdata/daily-time-series/max-floors.json
+ca65acd11925ba54756651b7c4982874 *inst/extdata/daily-time-series/max-minutesFairlyActive.json
+24de37beda50706bc76ac5ceb998a37d *inst/extdata/daily-time-series/max-minutesLightlyActive.json
+eb6070451a214de22f54194d78150d45 *inst/extdata/daily-time-series/max-minutesSedentary.json
+fd11deb6ee311473cc1304411d55b945 *inst/extdata/daily-time-series/max-minutesVeryActive.json
+297b50c2e51ff910bfd6850eb74c68fe *inst/extdata/daily-time-series/max-steps.json
+c47c9e2ca1b237927153d46fa4dafd2d *inst/extdata/daily-time-series/max-time31.json
+71bc039ebb92d29dd0c465f65163915a *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-10.json
+452a410e4a052501056e693d88852e9c *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-11.json
+b3f583a4dbf1a7d052d8f42a40f13d72 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-12.json
+ef46218f208036a9e6d0f275f2203c12 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-13.json
+cdb2065ebe7da4b6125f65a0b8e94a4c *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-14.json
+52f6b5d8e7959830ce07e18f630d3e90 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-15.json
+e6195675bf25b4d37af671cbbdc429b8 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-16.json
+8492d8e2714d31b8c32594f7359da2a9 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-17.json
+11683529d1833dd1b075fd07bd56462c *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-18.json
+9405a8bdc735f8b3a20c2b1d66735c6a *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-19.json
+d0ea768ffb3cf97c758214bc54f251ad *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-20.json
+29e2902c2640920e757217db09fa5d14 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-21.json
+34cf0416061fbad01545dc2815cd8618 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-22.json
+b3b80c67625be2cd520e98bc672f5d66 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-23.json
+037e4670933c6d83c45a4bf784905cbd *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-24.json
+28987b6d498342dc27d1afe85c31493b *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-25.json
+5a67381641b4b587034a013f5847e856 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-26.json
+6db712a4c707b929dd710d4c70141d13 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-27.json
+fc077b2cf644ab4b802d03541d9572c1 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-28.json
+c390daa35a0a350e2b0b9ca1e87df9ca *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-29.json
+f78803543a331decf77855ce991f9a95 *inst/extdata/intra-daily-timeseries/intra-calories-2015-12-30.json
+c7604af769b5c1ed5d4af9b35d1820e9 *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-10.json
+7d4b1aead4180c499b7cfcbc77c7e6bc *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-11.json
+86000fe9abbfa3b2ae827dd361a272ab *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-12.json
+363408c809116e031cd70249dbe4d4d2 *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-13.json
+c45e0f7f871f005ee5395e68fd640a2a *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-14.json
+678e9e6c7f8849bb3b50a2e6d620738f *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-15.json
+bcddea66019ea21143ab3bbe2db0e7f7 *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-16.json
+6d3c70b235c96cce34be1062645565fb *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-17.json
+2f81385bcd94d8c483860d127d49dc4e *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-18.json
+195eda7b2aa7346578d1013c9a9ac39b *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-19.json
+28952201a7edb2d81a01c5e5f9888e60 *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-20.json
+1e78495a34c2dad5dcc66e7bd8b318de *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-21.json
+6d7e775798a2209acf43ddbd52ca1459 *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-22.json
+633ff79aa903de0e31ccb00fb0e47ad6 *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-23.json
+ec9a6446ea29098bbb89f2756125ef41 *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-24.json
+603de5572947484941466abe97bc62be *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-25.json
+84acb4c7b87bb20b5d845fb02e6f0e7f *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-26.json
+7316cefeb0af9254a317c74777987ac7 *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-27.json
+b4bfb71c8b1ab13fdeab90deaf0008ff *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-28.json
+d04a4abc7d99b9d78485da531de4bf45 *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-29.json
+ea5a360a1805343374ae7a2c8ea5beab *inst/extdata/intra-daily-timeseries/intra-distance-2015-12-30.json
+35234216b47467b5f1ed46f533b8a7b7 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-10.json
+12380da06ca1113dfdf8225c2567e4d1 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-11.json
+5afbd2e2a7d8c8fb2a8915fd97978649 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-12.json
+4281dd24f698eb380dad60826e11779f *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-13.json
+e57fd9c9c2964b0e40b226a5ead84c58 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-14.json
+c57ac2629215b40658a2e7a44a0f19e7 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-15.json
+54cc8cf5e003804edba07857e568db3a *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-16.json
+63847e05cf28fa6563286665a322727f *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-17.json
+173f829b576ec63bfa748a0db16f5e07 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-18.json
+403e97c296f74c07f550115edc033196 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-19.json
+a659c479908ffb564d9ef237c72d9a46 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-20.json
+3e3de196d38957a0748c867a9b93f98c *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-21.json
+393bc6c7a8b8a80d9031f02e901586f9 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-22.json
+327c0d6d130d846b9cbc0a429e9d9718 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-23.json
+2c6e123606265333009b1ca88da159a1 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-24.json
+e2ed758732e7766393fb99c5d41aae89 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-25.json
+b52d857bb597b66ca758ac6de82ba522 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-26.json
+39c3bd44659de4194475ba4d5e05034b *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-27.json
+74a5d4147f4c915f798007b4ab333d56 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-28.json
+80f4ced1534105b6b61751d2bae531fb *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-29.json
+26bcfc6223aea79390c713aa815cf465 *inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-30.json
+6189c1ac96b5a6ed737846dae1225e89 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-10.json
+7d2b0d5679b882b469100d94ae9e03a3 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-11.json
+ea198235dbd3b3c27a98cb60bf261c64 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-12.json
+df87c15c030fca784ead8cb3661a749e *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-13.json
+0f9536dc4517de00a16f91c47b57c23b *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-14.json
+7870f61863cc7a1c62d2e32533baeecf *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-15.json
+0d071969395202a06fe57bfb015da139 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-16.json
+36e322048c5fa5ca763e848a108b376d *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-17.json
+8bb568e6288c56424a23ca2151c8c6e4 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-18.json
+9b54a6e30753f39e1bc0867fc156ac4a *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-19.json
+543c6832c0757735dc9e8855acb5c056 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-20.json
+3d41b001747f4b187bce70dabbaf32f5 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-21.json
+147e97d8df477bf7dcb25218ac150ef8 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-22.json
+5fffebffee259bee2fddf6cdc1159b2d *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-23.json
+cd99afdaac67f88dc72bfc3d4d737657 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-24.json
+e1eaf3253ea26b33ccf7d8e2d93781e1 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-25.json
+771083b574572f0340b9ed1ef0dc90b7 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-26.json
+91a889fb523bd6590d46d5b12988f147 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-27.json
+e82030a17758bd188301124a4259b873 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-28.json
+c93ece0c6bad9dc105c2419c6f20e1c6 *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-29.json
+3331c7754383627c1c2816eb29a050fb *inst/extdata/intra-daily-timeseries/intra-floors-2015-12-30.json
+60d0f50ba58a338cb08eb9228d869e24 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-10.json
+a3ffb12e49ffcf835c58c2bc91cebc5b *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-11.json
+0df3e7947b0fe09321d93be44ef5902c *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-12.json
+228e9b271607489b3542438eb7f88714 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-13.json
+1c09171e9b9e4944df6793ce3a8b5c09 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-14.json
+72a0e651a6f707e870bc0be859932ef3 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-15.json
+71e87f1b193e2f84230aeaaa334d85ae *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-16.json
+ada735cc18e3551f28ca95419ec75806 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-17.json
+b5302935c940db20b1512dc9249ae45f *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-18.json
+d55a44ffb290b56ed6bf091290878715 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-19.json
+4ca906aa86ca517a41a542b4e0058cab *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-20.json
+357ebe066f0d13f528bc4519b2ba8cf4 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-21.json
+14a130bed29c878699cc2344ecf044ff *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-22.json
+eeede207ceff9b3ce0e7d4499b83c3ba *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-23.json
+dc103cc8e087d5083ed307e239c1cddc *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-24.json
+471d87f364ade6e326a834003aab6428 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-25.json
+6b300f56d5bb949b191e0f56af56bc74 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-26.json
+9ba8b4d566b7118cf3a1f095cce2ef99 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-27.json
+55645114369af31c00e545525c51f7d7 *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-28.json
+dd26d538493d9088814fe44fc32b91af *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-29.json
+304c14d85f57e14cb19da3f7025a473a *inst/extdata/intra-daily-timeseries/intra-steps-2015-12-30.json
+627db3733ce6284cca539a4a09c67c23 *man/DataLoader.Rd
+906afe1e4513e92a3f4fd5804713ef70 *man/FitAnalyzer.Rd
+52d498b3eb7fc04ab53abfddff379f02 *man/augmentData.Rd
+a0b71e872d2bfa8a90c3baa2ea510de9 *man/augmentIntraData.Rd
+e4912eeaafcecf750d536e6e7029d773 *man/buildChartDay.Rd
+7b2a7eb611194b9b07ce7d2b87cec4e0 *man/buildChartIntra.Rd
+bed483eba44b6b5195bb387641740c64 *man/connectToAPI.Rd
+f349739d25bf3a76f6084597cf79a3a1 *man/createDependentVariableFrame.Rd
+ff2d0c86d2bdb00977f5c1aa01affab8 *man/createGoalVariableVector.Rd
+c3f63163899a51c47ebf9f4f105af527 *man/createIntraFrame.Rd
+1559e5a3973ce3692d76022ecca555fc *man/createTsMasterFrame.Rd
+571d96d742f6015a23ca898d6f5e6494 *man/fetchIntraResourceData.Rd
+c8b36481c8663ff57424136d183b8343 *man/getAPIScope.Rd
+ffee9e4bdd1ec0085c07933d21c1af25 *man/getDailyResourcePathList.Rd
+3ab8b2748a190643e8b4e29736a35eec *man/getIntradayResourcePathList.Rd
+3ba990fcc9eb0d4e7950ece9c1e22848 *man/makeAPIRequest.Rd
+bf02d87be879808d42ca97e0f7b4c3fa *man/markValidRows.Rd
+d171720f1c6a25e7a07a4fbde48db1e8 *man/properCase.Rd
+5637de11777c7b081174315514573224 *man/writeToJSON.Rd
+fc5f9c6721737dfd5b7f791115c7ee62 *tests/testthat.R
+fc10e2920928c22cd3afcab1ac820a0b *tests/testthat/test-fitanalyzer.R
+ad62b2a092ca44d9d5102469f5ad9b2f *tests/testthat/test-fitutil.R
+371254a9831de0f9425845dc752ba345 *vignettes/examples/fitcoach-usage.Rmd
+edcaff11c6250efedb5ef67acdae600f *vignettes/examples/fitcoach-usage.html
+f9b1179642da0f8e41b86f0b7e8e7271 *vignettes/summary.Rmd
+293bc21b9d599cf880bf28f2dcf8ebf2 *vignettes/summary.html
diff --git a/NAMESPACE b/NAMESPACE
new file mode 100644
index 0000000..fa298c1
--- /dev/null
+++ b/NAMESPACE
@@ -0,0 +1,43 @@
+# Generated by roxygen2: do not edit by hand
+
+export(DataLoader)
+export(FitAnalyzer)
+export(augmentData)
+export(augmentIntraData)
+export(buildChartDay)
+export(buildChartIntra)
+export(connectToAPI)
+export(createDependentVariableFrame)
+export(createGoalVariableVector)
+export(createIntraFrame)
+export(createTsMasterFrame)
+export(fetchIntraResourceData)
+export(makeAPIRequest)
+export(markValidRows)
+export(properCase)
+export(writeToJSON)
+import(ggplot2)
+importFrom(R6,R6Class)
+importFrom(caret,varImp)
+importFrom(dplyr,arrange)
+importFrom(dplyr,funs)
+importFrom(dplyr,group_by)
+importFrom(dplyr,inner_join)
+importFrom(dplyr,summarise_each)
+importFrom(gbm,gbm)
+importFrom(gbm,gbm.perf)
+importFrom(gbm,predict.gbm)
+importFrom(gbm,relative.influence)
+importFrom(graphics,plot)
+importFrom(httr,GET)
+importFrom(httr,config)
+importFrom(httr,content)
+importFrom(httr,oauth2.0_token)
+importFrom(httr,oauth_app)
+importFrom(httr,oauth_endpoint)
+importFrom(httr,warn_for_status)
+importFrom(jsonlite,fromJSON)
+importFrom(methods,slot)
+importFrom(plyr,ldply)
+importFrom(reshape2,melt)
+importFrom(stats,ave)
diff --git a/R/DataLoader.R b/R/DataLoader.R
new file mode 100644
index 0000000..2a644c3
--- /dev/null
+++ b/R/DataLoader.R
@@ -0,0 +1,135 @@
+#' R6 class for Loading Fitbit data 
+#' 
+#' DataLoader is an R6 Class that connects to the Fitbit API with the  credentials, requests the data, and writes the response to JSON files, 
+#'
+#' @docType class
+#' @format A \code{\link{R6Class}} generator object
+#' @keywords data
+#' 
+#' @importFrom R6 R6Class
+#' @importFrom httr content
+#' @export DataLoader
+#' 
+#' @section Methods:
+#' \describe{
+#'   \item{\code{connect(appname, key, secret, cache.file)}}{This method connects to the Fitbit API and to your application. 
+#'   \cr \code{appname}: Name of the Fitbit App
+#'   \cr \code{key}: Fitbit API Client key
+#'   \cr \code{secret}: Fibit API Client secret
+#'   \cr \code{cache.file}: Path to a cached token file, instead of providing credentials in the function call}
+#'   \item{\code{request(type = "day", activities = "", start.date = Sys.Date(), end.date = "", path = "./json/"))}}{This method builds the request URLs, sends the requests and writes response to JSON files, in the specified folder.
+#'   \cr \code{type}: Type of time series. Must be 'day' or 'intraday'.
+#'   \cr \code{activities}: A list of the Fitibit activities to be retrieved.
+#'   \cr \code{start.date}: Start date in format YYYY-mm-dd.
+#'   \cr \code{end.date}: End date in format YYYY-mm-dd.
+#'   \cr \code{path}: Folder where the JSON files will be written.}
+#' }
+#' 
+#' @examples \dontrun{
+#' testObject <- DataLoader$new()
+#' 
+#' testObject$connect(appname = "abcd",
+#'                    key = "123ABC",
+#'                    secret = "3089e3h1ac9dde0aa67b54ajc8691j44")
+#' 
+#' testObject$request(
+#'     type = 'day', 
+#'     activities = list("calories", "steps", "distance", "minutesVeryActive"), 
+#'     start.date = "2016-01-01", 
+#'     end.date = "2016-02-01", 
+#'     path = "~/fitbit-daily/")
+#' }
+
+
+##
+## Begin lassence@ code
+##
+
+DataLoader <- R6::R6Class (
+    "DataLoader",
+    
+    public = list (
+        
+        ### Public variables
+
+        # API Token
+        api.token = NA,
+        # Request response
+        response = NA,
+        
+        ### METHOD initialize
+        ### Standard R6 Initialize function
+
+        initialize = function () {
+            message("Object DataLoader initialized")
+        },
+        
+        ### METHOD connect
+        ### Connects to the API with credentials
+
+        connect = function (appname, key, secret, cache.file) {
+            
+            # If cache file provided, use it
+            if(!missing(cache.file)) {
+                self$api.token <- readRDS(cache.file)[[1]]
+
+            # Else, check if cache file exists    
+            } else {
+                if (file.exists('.httr-oauth')) {
+                    if (difftime(Sys.time(), file.info('.httr-oauth')$mtime, units = "mins") < 60) {
+                        self$api.token <- readRDS('.httr-oauth')[[1]]
+                    } else {
+                        # Known bug: autorefresh does not work in basic mode
+                        # https://github.com/hadley/httr/pull/320
+                        file.remove('.httr-oauth')
+                        self$api.token <- connectToAPI(appname, key, secret)
+                    }
+                } else {
+                    self$api.token <- connectToAPI(appname, key, secret)
+                }
+            }
+        },
+        
+        ### METHOD request
+        ### Build URL, send request and write response to JSON file
+
+        request = function (type = "day",
+                           activities = "",
+                           start.date = Sys.Date(),
+                           end.date = "",
+                           path = "./json/") {
+         
+            # Check 'type' argument
+            if (!(type %in% c("day", "intraday")))
+                stop("Invalid 'type'. Must be 'day' or 'intraday'")
+            
+            # Check 'start.date' argument
+            if (!(grepl("^[0-9]{4}-[0-9]{2}-[0-9]{2}$", start.date)))
+                stop("Invalid 'start.date'. Must be in the following format: 'YYYY-MM-dd'")
+            
+            # Call request function for each activity
+            for (acty in activities) {
+
+                self$response <- makeAPIRequest(
+                    type = type,
+                    activity = acty,
+                    start.date = start.date,
+                    end.date = end.date,
+                    api.token = self$api.token
+                )
+                
+                writeToJSON(content = httr::content(self$response, as = "text"),
+                            path = path,
+                            type = type, 
+                            activity = acty,
+                            start.date = start.date)
+                
+            }
+        }
+    )
+)
+
+##
+## End lassence@ code
+##
+
diff --git a/R/FitAnalyzer.R b/R/FitAnalyzer.R
new file mode 100644
index 0000000..dbbc6d5
--- /dev/null
+++ b/R/FitAnalyzer.R
@@ -0,0 +1,196 @@
+#' R6 class for Analyzing Fitbit  Data
+#'
+#' FitAnalyzer is an R6 class for analyzing Fitbit data. It is an opinionated implementation of a particular workflow for analysis. 
+#' For people attempting to conduct their own analysis in a different fashion you should use the more generic functions implemented in FitUtil. \cr \cr
+#' The workflow implemented for FitAnalyzer is the following: \cr
+#' 1.	Create the FitAnalyzer with the goal variable for analysis. Eg: Calories or steps or distance. The goal variable is your personal goal that you are trying to analyze better. \cr
+#' 2.	Call \code{findImportantVariables} to understand the most important variables unique to you that enable meeting your goal. \cr
+#' 3.	Call \code{showMostImportantCharts} to get relevant charts that are unique to your data \cr
+#' 4.	Call \code{predictGoal} to get a prediction on performance of the goal \cr \cr
+#' You can conduct two types of analysis based on the type of dataset in consideration. \code{analysis.type} can be 'intra.day' or 'daily' analysis. 
+#' 
+#' @docType class
+#' @format A \code{\link{R6Class}} generator object
+#' @keywords data
+#' 
+#' @importFrom R6 R6Class
+#' @importFrom dplyr arrange
+#' @importFrom caret varImp
+#' @importFrom gbm gbm predict.gbm gbm.perf relative.influence
+#' @export FitAnalyzer
+#' 
+#' @section Methods:
+#' \describe{
+#'   \item{\code{getAnalysisFrame(folder, analysis.type)}}{This method uses \code{analysis.type} as an argument to return a data.frame that is clean and augmented with additional features like weekend.}
+#'   \item{\code{findImportantVariables(tsDataFrame, seed = 12345)}}{Finds the most important variables that are enabling meeting the goals for the person, by creating a `glm` model and ranking the variables based on the coefficients of the model.}
+#'   \item{\code{getFit()}}{Returns the `glm` fit object.}
+#'   \item{\code{showMostImportantCharts(tsDataFrame)}}{Plots charts for the most relevant goals, with actual data and moving average using \code{geom_smooth()}.
+#'   \cr \code{tsDataFrame}: a data.frame containing the fitibit activities.}
+#'   \item{\code{predictGoal(x)}}{Gives a prediction on the goal performance, based on `glm` (daily) or `gbm` (intraday).}
+#' }
+#' 
+
+##
+## Begin niraj9@ code
+##
+
+FitAnalyzer <- R6::R6Class (
+    "FitAnalyzer",
+    
+    public = list (
+        
+        initialize = function (goal = "calories") {
+            private$goal <- goal
+        },
+        
+        # Get Analysis frame
+        getAnalysisFrame = function (folder = NA, analysis.type) {
+            private$folder <- folder
+            private$analysis.type <- analysis.type
+            master <- NULL
+
+            if (analysis.type == "intra.day") {
+              master <-
+                    createIntraFrame(folder)
+              master <-
+                    augmentIntraData(master)
+            } else {
+                master <- 
+                    createTsMasterFrame(folder)
+                master <- 
+                    markValidRows(master)
+                master <-
+                    master[master$valid == TRUE, ]
+                master <- augmentData(master)
+            }
+            return (master)
+        },
+        
+        # Find important variables
+
+        findImportantVariables = function (tsDataFrame, seed = 12345) {
+            set.seed(seed)
+            if (!is.null(private$fit)){
+                return (private$imp.vars)
+            }
+
+            ifelse(private$analysis.type == "intra.day",
+                   private$createIntraFit(tsDataFrame),
+                   private$createDailyFrameFit(tsDataFrame)
+                   )
+
+            return (private$imp.vars)
+        },
+        
+        # Get fit
+        getFit = function () {
+            return (private$fit)
+        },
+        
+##
+## End niraj9@ code
+##
+        
+                
+##
+## Begin lassence@ code
+##
+        
+        # Plot most important charts 
+        showMostImportantCharts = function (tsDataFrame) {
+            
+            # Intraday plot
+            if (private$analysis.type == "intra.day") {
+                # Get important variables 
+                intra.vars <- names(sort(private$imp.vars, decreasing = TRUE))
+                intra.vars <- intra.vars[grep('intra.', intra.vars)]
+                # Plot chart for 4 most important variables
+                buildChartIntra(data = tsDataFrame,
+                                y.axes = intra.vars[1:4])
+                
+            # Day time series plot
+            } else {
+                buildChartDay(
+                    data = tsDataFrame,
+                    y.axes = unlist(private$imp.vars$name)[1:4])
+            }
+        },
+        
+##
+## End lassence@ code
+##
+
+
+##
+## Begin niraj9@ code
+##
+
+        # Predict goals
+        predictGoal = function (x) {
+            response <- NULL
+            response <- 
+                  ifelse (private$analysis.type == "intra.day",
+                          gbm::predict.gbm(private$fit, newdata = x,
+                                           n.trees = private$gbm.best.iter),
+                          predict.glm(private$fit, 
+                                      newdata = as.data.frame(x), 
+                                      type = "response"))
+
+            return (response)
+        }
+        
+    ),
+    
+    # Private variables
+    private = list (
+        
+        folder = NULL,
+        goal = NULL,
+        imp.vars = NULL,
+        analysis.type  = NULL,
+        fit = NULL,
+        gbm.best.iter = NULL,
+        
+        createDailyFrameFit = function (master) {
+            y <-
+                createGoalVariableVector(master, goal = private$goal)
+            x <-
+                createDependentVariableFrame(master, goal = private$goal)
+            glm.fit <-
+                glm(y ~ ., data = x, family = "gaussian")
+            imp <- caret::varImp(glm.fit, scale = TRUE)
+            imp$name <- rownames(imp)
+            imp <- dplyr::arrange(imp, -Overall)
+            private$fit <- glm.fit
+            private$imp.vars <- imp
+        },
+        
+        createIntraFit = function (master, cv.folds) {
+            master$date <- NULL
+            
+            gbm.txt <- paste("gbm::gbm(formula = " ,
+                             private$goal ,
+                             "~ .,data = master,
+                              distribution = 'gaussian',
+                              n.trees = 500,
+                              shrinkage = .05,
+                              interaction.depth = 5,
+                              bag.fraction = .5,
+                              train.fraction = .8,
+                              verbose = FALSE)", sep = "")
+            gbm.fit <- eval(parse(text = gbm.txt))
+            private$fit <- gbm.fit
+            private$gbm.best.iter <-
+                gbm::gbm.perf(gbm.fit, method = "test", plot.it = FALSE)
+            private$imp.vars <-
+                gbm::relative.influence(gbm.fit, n.trees = 500, scale = TRUE)
+            private$imp.vars <- sort(private$imp.vars, decreasing = TRUE)
+        }
+    )
+)
+
+##
+## End niraj9@ code
+##
+
+
diff --git a/R/FitUtil.R b/R/FitUtil.R
new file mode 100644
index 0000000..9d03486
--- /dev/null
+++ b/R/FitUtil.R
@@ -0,0 +1,505 @@
+# ------------------------------------------------------------------------------
+# Utility for 'fitcoach' package. Contains the various functions 
+# that are used by R6 Classes in the package.
+# ------------------------------------------------------------------------------
+
+
+#' Returns a list of Fitbit Daily activities
+#'
+#' @return A list
+
+getDailyResourcePathList <- function() {
+  resourcePath <- list ("calories",
+                        "caloriesBMR",
+                        "steps",
+                        "distance",
+                        "floors",
+                        "elevation",
+                        "minutesSedentary",
+                        "minutesLightlyActive",
+                        "minutesFairlyActive",
+                        "minutesVeryActive",
+                        "activityCalories")
+    return (resourcePath)
+}
+
+#' Returns a list of Fitbit Intraday activities
+#' 
+#' @return A list
+
+getIntradayResourcePathList <- function() {
+  resourcePath <- list ("calories",
+                        "steps",
+                        "floors",
+                        "elevation",
+                        "distance")
+  return (resourcePath)
+}
+
+
+#' Creates the Master data.frame from Timeseries JSON files.
+#'
+#' @param tsFileFolder Folder containing all time-series files. Naming convention for files is max-[resource].json
+#' @param resourcePath the resource paths to look. Default will get getDailyResourcePathList()
+#' @return The Master data.frame
+#'
+#' @importFrom jsonlite fromJSON
+#' @export
+
+createTsMasterFrame <-
+    function(tsFileFolder, resourcePath = getDailyResourcePathList()) {
+        dflist <- lapply(resourcePath, function(x) {
+            json.file <- paste(
+                tsFileFolder,
+                .Platform$file.sep,
+                "max-", x, ".json",
+                sep = ""
+            )
+            df <- as.data.frame(jsonlite::fromJSON(json.file, simplifyDataFrame = TRUE))
+            colnames (df)[1] <- "date"
+            colnames (df)[2] <- x
+            return (df)
+        })
+        masterdf <- as.data.frame(dflist[1])
+
+       # Using For instead of lapply because masterdf is being updated at each increment
+       for (i in 2:length(dflist)) {
+           masterdf <-
+               merge(masterdf, as.data.frame(dflist[i]), by = "date")
+       }
+        
+        masterdf$date <- as.Date(masterdf$date)
+        lapply(2:ncol(masterdf), function(x) {
+            masterdf[, x] <<- as.numeric(masterdf[, x])
+        })
+        return (masterdf)
+    }
+
+
+#' Creates a vector of goal variables
+#' 
+#' @param master Master data.frame
+#' @param goal Goal variable
+#' @export 
+
+createGoalVariableVector <- function(master, goal) {
+    y <- eval(parse(text = paste("master$", goal, sep = "")))
+}
+
+
+#' Creates a data.frame with only goal variables
+#' 
+#' @param master Master data.frame
+#' @param goal Goal variable
+#' @export 
+
+createDependentVariableFrame <- function(master, goal) {
+    master$date <- NULL
+    # remove variables out of individuals direct control : eg calories
+    master$calories <- NULL
+    master$caloriesBMR <- NULL
+    master$activityCalories <- NULL
+    master$valid <- NULL
+    master$holiday <- ifelse(master$weekend, 1, 0)
+    master$weekday <- NULL
+    master$weekend <- NULL
+    eval(parse(text = paste("master$", goal, " <- NULL", sep = "")))
+    return (master)
+}
+
+
+#' Augments the Master data.frame with additional information
+#' 
+#' @param masterTsDataFrame The Master Time Series data.frame
+#' @return The Master data.frame with additinal data elements 
+#'         weekday, weekend
+#' @export 
+
+augmentData <- function(masterTsDataFrame) {
+    # Augment weekday information
+    masterTsDataFrame$weekday <-
+        weekdays(as.Date(masterTsDataFrame$date))
+    masterTsDataFrame$weekday <-
+        as.factor(masterTsDataFrame$weekday)
+    masterTsDataFrame$weekend <-
+        ifelse(masterTsDataFrame$weekday == "Saturday" |
+               masterTsDataFrame$weekday == "Sunday",
+               TRUE,
+               FALSE
+        )
+    return (masterTsDataFrame)
+}
+
+
+#' Incorporates rules for marking if the data entry in MasterTSFrame are valid or not
+#'
+#' @param masterTsDataFrame The Master Time Series data.frame
+#' @return The marked Master data.frame. i.e column valid is added at the end of the data.frame
+#' 
+#' @importFrom dplyr inner_join
+#' @importFrom plyr ldply
+#' @export 
+
+markValidRows <- function(masterTsDataFrame) {
+    masterTsDataFrame$valid <-
+        (as.numeric(masterTsDataFrame$distance) != 0)
+    return (masterTsDataFrame)
+}
+
+
+#' Creates the intraday Frame
+#' 
+#' @param folder The folder in which JSON files will be read.
+#' 
+#' @importFrom jsonlite fromJSON
+#' @importFrom plyr ldply
+#' @importFrom dplyr inner_join
+#' @export 
+
+createIntraFrame <- function(folder) {
+    files <- list.files(folder)
+    indexes <- grep("intra-+", files)
+    files <- files[indexes]
+
+    # Calories
+    indexes <- grep(paste('-calories-', sep = ""), files)
+    
+    res.files <- files[indexes]
+    res.files <- paste(folder, "/", res.files, sep = "")
+    
+    dfList <- lapply(res.files,
+                    function(x) {
+                        d <- jsonlite::fromJSON(x, simplifyDataFrame = TRUE, flatten = TRUE)
+                        d <- suppressWarnings(as.data.frame(d))
+                        d$sequence <- seq(1:nrow(d))
+                        return (d)
+                    })
+    calorie.df <- plyr::ldply(dfList, data.frame)
+    calorie.df <- calorie.df[-c(7, 8)]
+    intraColNames <- c(
+        "date",
+        "calories",
+        "intra.level",
+        "intra.mets",
+        "time",
+        "intra.calorie",
+        "timeseq"
+    )
+    colnames(calorie.df) <- intraColNames
+    
+    # Other resource types
+    resources <- getIntradayResourcePathList()
+    resources <- resources[-c(1)]
+    for (i in 1:length(resources)) {
+        resource.df <- fetchIntraResourceData(folder, resources[i], files)
+        calorie.df <- suppressMessages(dplyr::inner_join(calorie.df, resource.df))
+    }
+    return (calorie.df)
+}
+
+
+#' Loads the JSON files for intraday data and returns a data.frame
+#' 
+#' @param folder the folder to source the files from
+#' @param  resource the type of resource(Eg: calories, steps, distance etc)
+#' @param  files the list of files to look into for fetch
+#' @return Resource data.frame
+#' 
+#' @importFrom jsonlite fromJSON
+#' @importFrom plyr ldply
+#' @export 
+
+fetchIntraResourceData <- function (folder, resource, files) {
+    indexes <- grep(paste('-', resource, '-', sep = ""), files)
+    res.files <- files[indexes]
+    res.files <- paste(folder, "/", res.files, sep = "")
+    dfList <- lapply(res.files,
+                     function(x) {
+                         suppressWarnings(as.data.frame(
+                             jsonlite::fromJSON (x, simplifyDataFrame = TRUE))
+                         )
+                     })
+    resource.df <- plyr::ldply(dfList, data.frame)
+    resource.df <- resource.df[(-c(5, 6))]
+    intraColNames <- c("date", resource, "time",
+                       paste('intra.', resource, sep = ""))
+    colnames(resource.df) <- intraColNames
+    return (resource.df)
+}
+
+
+#' Augments the intra day data.frame with additional information
+#' @param inFrame The Master Time Series data.frame
+#' @return The Master data.frame with additinal data elements 
+#'         weekday, weekend, cum.sums of various variables
+#'
+#' @importFrom stats ave
+#' @export 
+
+augmentIntraData <- function(inFrame) {
+    inFrame$date <- as.Date(inFrame$date)
+    inFrame$dataset.type <- NULL
+    inFrame$time.interval <- NULL
+    inFrame$weekday <- weekdays(inFrame$date)
+    inFrame$weekday <- as.factor(inFrame$weekday)
+    inFrame$weekend <- ifelse(inFrame$weekday == "Saturday" |
+                              inFrame$weekday == "Sunday",
+                              1, 0)
+    inFrame$calories <- as.numeric(inFrame$calories)
+    inFrame$time <- NULL
+    inFrame[, 2:15] <-
+        lapply(2:15, function(x)
+            as.numeric(inFrame[, x]))
+    
+    a <-
+        cut(
+            inFrame$timeseq,
+            breaks = c(0, 23, 41, 77, 90, 96),
+            labels = c("night", "morning", "day", "eve", "latenight")
+        )
+    inFrame$slot <- a
+
+    mod <- transform(inFrame, cumsum.calorie = stats::ave(inFrame$intra.calorie, date, FUN = cumsum))
+    mod <- transform(mod, cumsum.steps = stats::ave(inFrame$intra.steps, date, FUN = cumsum))
+    mod <- transform(mod, cumsum.level = stats::ave(inFrame$intra.level, date, FUN = cumsum))
+    mod <- transform(mod, cumsum.mets = stats::ave(inFrame$intra.mets, date, FUN = cumsum))
+    mod <- transform(mod, cumsum.distance = stats::ave(inFrame$intra.distance, date, FUN = cumsum))
+    mod <- transform(mod, cumsum.floors = stats::ave(inFrame$intra.floors, date, FUN = cumsum))
+    mod <- transform(mod, cumsum.elevation = stats::ave(inFrame$intra.elevation, date, FUN = cumsum))
+    inFrame <- mod
+    return (inFrame)
+}
+
+
+#' Get API scope
+#' 
+#' Gets the scopes that will be retrieved by the API request to fitbit.
+#' See https://dev.fitbit.com/docs/oauth2/#scope 
+#' 
+#' @return A vector of scope
+
+getAPIScope <- function() {
+    APIScope <- c(
+        "activity", 
+        "heartrate", 
+        "location",
+        "nutrition",
+        "profile", 
+        "settings",
+        "sleep", 
+        "social", 
+        "weight"
+    )
+    return (APIScope)
+}
+
+
+#' Connects to Fibit API 
+#' 
+#' Connects to the Fitbit API with OAuth 2. 
+#' See https://dev.fitbit.com/docs/oauth2/
+#' 
+#' @param appname Name of the Fitbit App
+#' @param key Fitbit API Client key
+#' @param secret Fibit API Client secret
+#' @return A Fitbit API token, that will be cached
+#' 
+#' @importFrom httr oauth_endpoint oauth_app oauth2.0_token
+#' @export
+
+connectToAPI <- function(appname, key, secret) {
+    fitbit.api <- httr::oauth_endpoint(
+        request = "https://api.fitbit.com/oauth2/token",
+        authorize = "https://www.fitbit.com/oauth2/authorize",
+        access = "https://api.fitbit.com/oauth2/token")
+    
+    api.token <-
+        httr::oauth2.0_token(
+            endpoint = fitbit.api,
+            app = httr::oauth_app(appname, key, secret),
+            scope = getAPIScope(),
+            use_basic_auth = TRUE,
+            use_oob = FALSE,
+            cache = TRUE
+        )
+        
+    return (api.token)
+}
+
+
+#' Make API Request
+#' 
+#' Makes request to Fitbit API, and stores the response into a variable.
+#' 
+#' @param type Type of time series. Must be 'day' or 'intraday'
+#' @param activity Type of activity. See below for details.
+#' @param start.date Start date in format YYYY-mm-dd
+#' @param end.date End date in format YYYY-mm-dd
+#' @param api.token API token for connection to Fitbit API
+#' @return The request response
+#' 
+#' @importFrom httr GET warn_for_status config
+#' @export
+
+makeAPIRequest <-
+    function(type, activity,
+             start.date, end.date,
+             api.token) {
+        
+        # Build URL for request
+        req.url <- paste("activities",
+                         activity,
+                         "date",
+                         start.date,
+                         sep = "/")
+        
+        if (end.date != "") {
+            req.url <- paste(req.url, end.date, sep = .Platform$file.sep)
+        }
+        
+        if (type == "intraday") {
+            if (end.date == "") req.url <- paste(req.url, "1d", sep = "/")
+            req.url <- paste(req.url, "15min", sep = .Platform$file.sep)
+        }
+        
+        req.url <- paste("https://api.fitbit.com/1/user/-/",
+                         req.url,
+                         ".json",
+                         sep = "")
+
+        # Send the request
+        response <- httr::GET(url = req.url, httr::config(token = api.token))
+        httr::warn_for_status(response)
+        return (response)
+        
+    }
+
+
+#' Write to JSON
+#' 
+#' Writes API response content to JSON files, in a specific folder
+#' 
+#' @param content JSON content to be written to file
+#' @param path Path to folder where files will be created
+#' @param type Type of time series. Must be 'day' or 'intraday'
+#' @param activity Type of activity. See below for details.
+#' @param start.date Start date
+#' @export
+
+writeToJSON <- function(content, path, type, activity, start.date) {
+    
+    # Create folder if necessary
+    if (!dir.exists(path)) { 
+        dir.create(path)    
+    }
+    
+    # Define files names 
+    if (type == 'day') {
+        json.file <- paste("max", activity, sep = "-")
+    } else if (type == 'intraday') {
+        json.file <- paste("intra", activity, start.date, sep = "-")
+    }
+    
+    # Write files
+    json.file <- paste(path, json.file, ".json", sep = "")
+    write(content, json.file)
+    
+}
+
+
+#' Build Day timeseries Chart
+#' 
+#' Plots charts that have been selected as most relevant.
+#' 
+#' @param data data.frame
+#' @param y.axes Names of the Y-axes data, as a vector of characters
+#' @return A plot
+#' 
+#' @import ggplot2
+#' @importFrom reshape2 melt
+#' @importFrom graphics plot
+#' @export
+
+buildChartDay <- function(data, y.axes) {
+    
+    # Keep only relevant columns and melt data
+    data <- subset(data, select = c("date", y.axes))
+    data <- reshape2::melt(data, id.vars = "date")
+    
+    # Build and plot graph
+    graph <- 
+        ggplot(data, aes(x = data$date, y = data$value, color = data$variable)) +
+        geom_line(na.rm = TRUE, alpha = 0.3) +
+        geom_smooth(span = 0.1, se = FALSE) + 
+        facet_grid(variable ~ ., scales = "free_y") +
+        scale_color_discrete(labels = properCase(gsub("([A-Z])", " \\1", y.axes))) +
+        labs(title = "Evolution of most relevant activities, by day", 
+             x = "Date", 
+             y = "", 
+             color = "Activity")
+    plot(graph)
+    
+}
+
+
+#' Build Intraday Chart
+#' 
+#' Plots intraday charts for the most relevant activities
+#' 
+#' @param data data.frame
+#' @param y.axes Names of the Y-axes data, as a vector of characters
+#' @return A plot
+#' 
+#' @import ggplot2
+#' @importFrom dplyr group_by summarise_each funs
+#' @importFrom reshape2 melt
+#' @importFrom graphics plot
+#' @importFrom methods slot
+#' @export
+
+buildChartIntra <- function(data, y.axes) {
+    
+    # Select only y-axes variables, 'timeseq' and 'slot'
+    data <- subset(data, select = c("timeseq", "slot", y.axes))
+    timeseq <- data$timeseq   # Fix to avoid note when checking package
+    slot <- data$slot   # Fix to avoid note when checking package
+    data <- dplyr::group_by(data, timeseq, slot)
+    data <- dplyr::summarise_each(data, funs(mean))
+    
+    # Melt data
+    data <- reshape2::melt(data, id.vars = c("timeseq", "slot"))
+
+    # Build and plot graph
+    graph <- 
+        ggplot(data, aes(x = data$timeseq, y = data$value, color = data$variable)) +
+        geom_line(na.rm = TRUE, alpha = 0.4) +
+        geom_smooth(span = 0.1, se = FALSE) + 
+        geom_area(aes(fill = data$slot, color = NULL), alpha = 0.1) +
+        facet_grid(variable ~ ., scales = "free_y") +
+        scale_x_discrete(breaks = seq(1, 96, by = 8), 
+                         labels = paste(seq(0, 22, by = 2), ":00", sep = "")) +
+        scale_color_discrete(labels = properCase(substr(y.axes, 7, 100))) +
+        scale_fill_discrete(labels = properCase(unique(data$slot))) +
+        labs(title = "Average level of most relevant activities, in a day", 
+             x = "Time of day", 
+             y = "", 
+             color = "Activity",
+             fill = "Period of day")
+    plot(graph)
+    
+}
+
+#' Proper Case
+#' 
+#' Sets a string to proper case, i.e. upper case for the first letter of each word
+#' 
+#' @param x A string
+#' @return A string with proper case
+#' @export
+
+# Code inspired from http://stackoverflow.com/a/6365349
+properCase <- function(x) {
+    gsub("(^|[[:space:]])([[:alpha:]])", "\\1\\U\\2", x, perl=TRUE)
+}
+
+
diff --git a/inst/extdata/daily-time-series/max-activityCalories.json b/inst/extdata/daily-time-series/max-activityCalories.json
new file mode 100644
index 0000000..9a63b37
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-activityCalories.json
@@ -0,0 +1 @@
+{"activities-activityCalories":[{"dateTime":"2013-02-14","value":"0"},{"dateTime":"2013-02-15","value":"0"},{"dateTime":"2013-02-16","value":"0"},{"dateTime":"2013-02-17","value":"0"},{"dateTime":"2013-02-18","value":"0"},{"dateTime":"2013-02-19","value":"0"},{"dateTime":"2013-02-20","value":"0"},{"dateTime":"2013-02-21","value":"0"},{"dateTime":"2013-02-22","value":"0"},{"dateTime":"2013-02-23","value":"0"},{"dateTime":"2013-02-24","value":"0"},{"dateTime":"2013-02-25","value":"0"},{"da [...]
diff --git a/inst/extdata/daily-time-series/max-calories.json b/inst/extdata/daily-time-series/max-calories.json
new file mode 100644
index 0000000..54e74fa
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-calories.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2013-02-14","value":"1773"},{"dateTime":"2013-02-15","value":"1773"},{"dateTime":"2013-02-16","value":"1773"},{"dateTime":"2013-02-17","value":"1773"},{"dateTime":"2013-02-18","value":"1773"},{"dateTime":"2013-02-19","value":"1773"},{"dateTime":"2013-02-20","value":"1773"},{"dateTime":"2013-02-21","value":"1773"},{"dateTime":"2013-02-22","value":"1773"},{"dateTime":"2013-02-23","value":"1773"},{"dateTime":"2013-02-24","value":"1773"},{"dateTime":"2013 [...]
diff --git a/inst/extdata/daily-time-series/max-caloriesBMR.json b/inst/extdata/daily-time-series/max-caloriesBMR.json
new file mode 100644
index 0000000..27f839b
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-caloriesBMR.json
@@ -0,0 +1 @@
+{"activities-caloriesBMR":[{"dateTime":"2013-02-14","value":"1773"},{"dateTime":"2013-02-15","value":"1773"},{"dateTime":"2013-02-16","value":"1773"},{"dateTime":"2013-02-17","value":"1773"},{"dateTime":"2013-02-18","value":"1773"},{"dateTime":"2013-02-19","value":"1773"},{"dateTime":"2013-02-20","value":"1773"},{"dateTime":"2013-02-21","value":"1773"},{"dateTime":"2013-02-22","value":"1773"},{"dateTime":"2013-02-23","value":"1773"},{"dateTime":"2013-02-24","value":"1773"},{"dateTime":"2 [...]
diff --git a/inst/extdata/daily-time-series/max-distance.json b/inst/extdata/daily-time-series/max-distance.json
new file mode 100644
index 0000000..b985fed
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-distance.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2013-02-14","value":"0.0"},{"dateTime":"2013-02-15","value":"0.0"},{"dateTime":"2013-02-16","value":"0.0"},{"dateTime":"2013-02-17","value":"0.0"},{"dateTime":"2013-02-18","value":"0.0"},{"dateTime":"2013-02-19","value":"0.0"},{"dateTime":"2013-02-20","value":"0.0"},{"dateTime":"2013-02-21","value":"0.0"},{"dateTime":"2013-02-22","value":"0.0"},{"dateTime":"2013-02-23","value":"0.0"},{"dateTime":"2013-02-24","value":"0.0"},{"dateTime":"2013-02-25","va [...]
diff --git a/inst/extdata/daily-time-series/max-elevation.json b/inst/extdata/daily-time-series/max-elevation.json
new file mode 100644
index 0000000..4595139
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-elevation.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2013-02-14","value":"0"},{"dateTime":"2013-02-15","value":"0"},{"dateTime":"2013-02-16","value":"0"},{"dateTime":"2013-02-17","value":"0"},{"dateTime":"2013-02-18","value":"0"},{"dateTime":"2013-02-19","value":"0"},{"dateTime":"2013-02-20","value":"0"},{"dateTime":"2013-02-21","value":"0"},{"dateTime":"2013-02-22","value":"0"},{"dateTime":"2013-02-23","value":"0"},{"dateTime":"2013-02-24","value":"0"},{"dateTime":"2013-02-25","value":"0"},{"dateTime" [...]
diff --git a/inst/extdata/daily-time-series/max-floors.json b/inst/extdata/daily-time-series/max-floors.json
new file mode 100644
index 0000000..7d31e80
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-floors.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2013-02-14","value":"0"},{"dateTime":"2013-02-15","value":"0"},{"dateTime":"2013-02-16","value":"0"},{"dateTime":"2013-02-17","value":"0"},{"dateTime":"2013-02-18","value":"0"},{"dateTime":"2013-02-19","value":"0"},{"dateTime":"2013-02-20","value":"0"},{"dateTime":"2013-02-21","value":"0"},{"dateTime":"2013-02-22","value":"0"},{"dateTime":"2013-02-23","value":"0"},{"dateTime":"2013-02-24","value":"0"},{"dateTime":"2013-02-25","value":"0"},{"dateTime":"2 [...]
diff --git a/inst/extdata/daily-time-series/max-minutesFairlyActive.json b/inst/extdata/daily-time-series/max-minutesFairlyActive.json
new file mode 100644
index 0000000..00a3732
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-minutesFairlyActive.json
@@ -0,0 +1 @@
+{"activities-minutesFairlyActive":[{"dateTime":"2013-02-14","value":"0"},{"dateTime":"2013-02-15","value":"0"},{"dateTime":"2013-02-16","value":"0"},{"dateTime":"2013-02-17","value":"0"},{"dateTime":"2013-02-18","value":"0"},{"dateTime":"2013-02-19","value":"0"},{"dateTime":"2013-02-20","value":"0"},{"dateTime":"2013-02-21","value":"0"},{"dateTime":"2013-02-22","value":"0"},{"dateTime":"2013-02-23","value":"0"},{"dateTime":"2013-02-24","value":"0"},{"dateTime":"2013-02-25","value":"0"},{ [...]
diff --git a/inst/extdata/daily-time-series/max-minutesLightlyActive.json b/inst/extdata/daily-time-series/max-minutesLightlyActive.json
new file mode 100644
index 0000000..5966407
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-minutesLightlyActive.json
@@ -0,0 +1 @@
+{"activities-minutesLightlyActive":[{"dateTime":"2013-02-14","value":"0"},{"dateTime":"2013-02-15","value":"0"},{"dateTime":"2013-02-16","value":"0"},{"dateTime":"2013-02-17","value":"0"},{"dateTime":"2013-02-18","value":"0"},{"dateTime":"2013-02-19","value":"0"},{"dateTime":"2013-02-20","value":"0"},{"dateTime":"2013-02-21","value":"0"},{"dateTime":"2013-02-22","value":"0"},{"dateTime":"2013-02-23","value":"0"},{"dateTime":"2013-02-24","value":"0"},{"dateTime":"2013-02-25","value":"0"}, [...]
diff --git a/inst/extdata/daily-time-series/max-minutesSedentary.json b/inst/extdata/daily-time-series/max-minutesSedentary.json
new file mode 100644
index 0000000..dcdca54
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-minutesSedentary.json
@@ -0,0 +1 @@
+{"activities-minutesSedentary":[{"dateTime":"2013-02-14","value":"1440"},{"dateTime":"2013-02-15","value":"1440"},{"dateTime":"2013-02-16","value":"1440"},{"dateTime":"2013-02-17","value":"1440"},{"dateTime":"2013-02-18","value":"1440"},{"dateTime":"2013-02-19","value":"1440"},{"dateTime":"2013-02-20","value":"1440"},{"dateTime":"2013-02-21","value":"1440"},{"dateTime":"2013-02-22","value":"1440"},{"dateTime":"2013-02-23","value":"1440"},{"dateTime":"2013-02-24","value":"1440"},{"dateTim [...]
diff --git a/inst/extdata/daily-time-series/max-minutesVeryActive.json b/inst/extdata/daily-time-series/max-minutesVeryActive.json
new file mode 100644
index 0000000..5982834
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-minutesVeryActive.json
@@ -0,0 +1 @@
+{"activities-minutesVeryActive":[{"dateTime":"2013-02-14","value":"0"},{"dateTime":"2013-02-15","value":"0"},{"dateTime":"2013-02-16","value":"0"},{"dateTime":"2013-02-17","value":"0"},{"dateTime":"2013-02-18","value":"0"},{"dateTime":"2013-02-19","value":"0"},{"dateTime":"2013-02-20","value":"0"},{"dateTime":"2013-02-21","value":"0"},{"dateTime":"2013-02-22","value":"0"},{"dateTime":"2013-02-23","value":"0"},{"dateTime":"2013-02-24","value":"0"},{"dateTime":"2013-02-25","value":"0"},{"d [...]
diff --git a/inst/extdata/daily-time-series/max-steps.json b/inst/extdata/daily-time-series/max-steps.json
new file mode 100644
index 0000000..1ad6105
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-steps.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2013-02-14","value":"0"},{"dateTime":"2013-02-15","value":"0"},{"dateTime":"2013-02-16","value":"0"},{"dateTime":"2013-02-17","value":"0"},{"dateTime":"2013-02-18","value":"0"},{"dateTime":"2013-02-19","value":"0"},{"dateTime":"2013-02-20","value":"0"},{"dateTime":"2013-02-21","value":"0"},{"dateTime":"2013-02-22","value":"0"},{"dateTime":"2013-02-23","value":"0"},{"dateTime":"2013-02-24","value":"0"},{"dateTime":"2013-02-25","value":"0"},{"dateTime":"20 [...]
diff --git a/inst/extdata/daily-time-series/max-time31.json b/inst/extdata/daily-time-series/max-time31.json
new file mode 100644
index 0000000..556e250
--- /dev/null
+++ b/inst/extdata/daily-time-series/max-time31.json
@@ -0,0 +1 @@
+{"activities-tracker-calories":[{"dateTime":"2013-02-10","value":"1773"},{"dateTime":"2013-02-11","value":"1773"},{"dateTime":"2013-02-12","value":"1773"},{"dateTime":"2013-02-13","value":"1773"},{"dateTime":"2013-02-14","value":"1773"},{"dateTime":"2013-02-15","value":"1773"},{"dateTime":"2013-02-16","value":"1773"},{"dateTime":"2013-02-17","value":"1773"},{"dateTime":"2013-02-18","value":"1773"},{"dateTime":"2013-02-19","value":"1773"},{"dateTime":"2013-02-20","value":"1773"},{"dateTim [...]
\ No newline at end of file
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-10.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-10.json
new file mode 100644
index 0000000..11e3d21
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-10.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-10","value":"2491"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":150,"time":"00:00:00","value":18.556499481201172},{"level":0,"mets":150,"time":"00:15:00","value":18.556499481201172},{"level":0,"mets":150,"time":"00:30:00","value":18.556499481201172},{"level":0,"mets":150,"time":"00:45:00","value":18.556499481201172},{"level":0,"mets":150,"time":"01:00:00","value":18.556499481201172},{"level":0,"mets":150,"time":"01:15:00","va [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-11.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-11.json
new file mode 100644
index 0000000..2c4827a
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-11.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-11","value":"2229"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":151,"time":"00:00:00","value":18.67719078063965},{"level":0,"mets":151,"time":"00:15:00","value":18.67719078063965},{"level":0,"mets":150,"time":"00:30:00","value":18.553499221801758},{"level":0,"mets":150,"time":"00:45:00","value":18.553499221801758},{"level":0,"mets":150,"time":"01:00:00","value":18.553499221801758},{"level":0,"mets":152,"time":"01:15:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-12.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-12.json
new file mode 100644
index 0000000..5e1a4f5
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-12.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-12","value":"3190"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":154,"time":"00:00:00","value":19.051340103149414},{"level":0,"mets":150,"time":"00:15:00","value":18.556499481201172},{"level":0,"mets":150,"time":"00:30:00","value":18.556499481201172},{"level":0,"mets":150,"time":"00:45:00","value":18.556499481201172},{"level":0,"mets":150,"time":"01:00:00","value":18.556499481201172},{"level":0,"mets":150,"time":"01:15:00","va [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-13.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-13.json
new file mode 100644
index 0000000..17080cf
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-13.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-13","value":"2366"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":186,"time":"00:00:00","value":23.00634002685547},{"level":0,"mets":164,"time":"00:15:00","value":20.285160064697266},{"level":0,"mets":158,"time":"00:30:00","value":19.543020248413086},{"level":0,"mets":151,"time":"00:45:00","value":18.67719078063965},{"level":0,"mets":157,"time":"01:00:00","value":19.419330596923828},{"level":0,"mets":167,"time":"01:15:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-14.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-14.json
new file mode 100644
index 0000000..d528d35
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-14.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-14","value":"2656"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":150,"time":"00:00:00","value":18.558000564575195},{"level":0,"mets":150,"time":"00:15:00","value":18.558000564575195},{"level":0,"mets":150,"time":"00:30:00","value":18.558000564575195},{"level":0,"mets":150,"time":"00:45:00","value":18.558000564575195},{"level":0,"mets":150,"time":"01:00:00","value":18.558000564575195},{"level":0,"mets":150,"time":"01:15:00","va [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-15.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-15.json
new file mode 100644
index 0000000..aff95e9
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-15.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-15","value":"2502"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":165,"time":"00:00:00","value":20.410499572753906},{"level":0,"mets":152,"time":"00:15:00","value":18.802400588989258},{"level":0,"mets":150,"time":"00:30:00","value":18.55500030517578},{"level":0,"mets":151,"time":"00:45:00","value":18.678699493408203},{"level":0,"mets":151,"time":"01:00:00","value":18.678699493408203},{"level":0,"mets":151,"time":"01:15:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-16.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-16.json
new file mode 100644
index 0000000..fd146d5
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-16.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-16","value":"2669"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":150,"time":"00:00:00","value":18.550500869750977},{"level":0,"mets":151,"time":"00:15:00","value":18.674169540405273},{"level":0,"mets":167,"time":"00:30:00","value":20.652889251708984},{"level":0,"mets":150,"time":"00:45:00","value":18.550500869750977},{"level":0,"mets":150,"time":"01:00:00","value":18.550500869750977},{"level":0,"mets":152,"time":"01:15:00","va [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-17.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-17.json
new file mode 100644
index 0000000..a7838ad
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-17.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-17","value":"2919"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":165,"time":"00:00:00","value":20.410499572753906},{"level":0,"mets":151,"time":"00:15:00","value":18.678699493408203},{"level":0,"mets":152,"time":"00:30:00","value":18.802400588989258},{"level":0,"mets":150,"time":"00:45:00","value":18.55500030517578},{"level":0,"mets":150,"time":"01:00:00","value":18.55500030517578},{"level":0,"mets":209,"time":"01:15:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-18.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-18.json
new file mode 100644
index 0000000..78d04d3
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-18.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-18","value":"2057"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":150,"time":"00:00:00","value":18.558000564575195},{"level":0,"mets":150,"time":"00:15:00","value":18.558000564575195},{"level":0,"mets":150,"time":"00:30:00","value":18.558000564575195},{"level":0,"mets":150,"time":"00:45:00","value":18.558000564575195},{"level":0,"mets":150,"time":"01:00:00","value":18.558000564575195},{"level":0,"mets":150,"time":"01:15:00","va [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-19.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-19.json
new file mode 100644
index 0000000..a97b0ee
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-19.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-19","value":"2373"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":150,"time":"00:00:00","value":18.553499221801758},{"level":0,"mets":150,"time":"00:15:00","value":18.553499221801758},{"level":0,"mets":150,"time":"00:30:00","value":18.553499221801758},{"level":0,"mets":150,"time":"00:45:00","value":18.553499221801758},{"level":0,"mets":150,"time":"01:00:00","value":18.553499221801758},{"level":0,"mets":150,"time":"01:15:00","va [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-20.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-20.json
new file mode 100644
index 0000000..8f16dcf
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-20.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-20","value":"2916"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":151,"time":"00:00:00","value":18.681720733642578},{"level":0,"mets":152,"time":"00:15:00","value":18.80544090270996},{"level":0,"mets":176,"time":"00:30:00","value":21.77471923828125},{"level":0,"mets":150,"time":"00:45:00","value":18.558000564575195},{"level":0,"mets":150,"time":"01:00:00","value":18.558000564575195},{"level":0,"mets":150,"time":"01:15:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-21.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-21.json
new file mode 100644
index 0000000..0339311
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-21.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-21","value":"2517"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":160,"time":"00:00:00","value":19.7903995513916},{"level":0,"mets":165,"time":"00:15:00","value":20.408849716186523},{"level":0,"mets":158,"time":"00:30:00","value":19.543020248413086},{"level":0,"mets":150,"time":"00:45:00","value":18.553499221801758},{"level":0,"mets":152,"time":"01:00:00","value":18.800880432128906},{"level":0,"mets":150,"time":"01:15:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-22.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-22.json
new file mode 100644
index 0000000..d27e5c7
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-22.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-22","value":"2754"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":153,"time":"00:00:00","value":18.927629470825195},{"level":0,"mets":223,"time":"00:15:00","value":27.587329864501953},{"level":1,"mets":239,"time":"00:30:00","value":29.56669044494629},{"level":1,"mets":248,"time":"00:45:00","value":30.68008041381836},{"level":0,"mets":201,"time":"01:00:00","value":24.86570930480957},{"level":0,"mets":172,"time":"01:15:00","value [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-23.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-23.json
new file mode 100644
index 0000000..f48927d
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-23.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-23","value":"2793"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":199,"time":"00:00:00","value":24.612319946289062},{"level":0,"mets":180,"time":"00:15:00","value":22.262399673461914},{"level":0,"mets":180,"time":"00:30:00","value":22.262399673461914},{"level":0,"mets":168,"time":"00:45:00","value":20.778240203857422},{"level":0,"mets":150,"time":"01:00:00","value":18.552000045776367},{"level":0,"mets":152,"time":"01:15:00","va [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-24.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-24.json
new file mode 100644
index 0000000..cb673b8
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-24.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-24","value":"2487"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":150,"time":"00:00:00","value":18.55500030517578},{"level":0,"mets":150,"time":"00:15:00","value":18.55500030517578},{"level":0,"mets":150,"time":"00:30:00","value":18.55500030517578},{"level":0,"mets":150,"time":"00:45:00","value":18.55500030517578},{"level":0,"mets":150,"time":"01:00:00","value":18.55500030517578},{"level":0,"mets":150,"time":"01:15:00","value": [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-25.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-25.json
new file mode 100644
index 0000000..54c2ae2
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-25.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-25","value":"2524"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":181,"time":"00:00:00","value":22.393320083618164},{"level":0,"mets":183,"time":"00:15:00","value":22.64076042175293},{"level":0,"mets":179,"time":"00:30:00","value":22.1458797454834},{"level":0,"mets":184,"time":"00:45:00","value":22.764480590820312},{"level":0,"mets":180,"time":"01:00:00","value":22.26959991455078},{"level":0,"mets":197,"time":"01:15:00","value" [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-26.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-26.json
new file mode 100644
index 0000000..f77306b
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-26.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-26","value":"2612"}],"activities-calories-intraday":{"dataset":[{"level":1,"mets":226,"time":"00:00:00","value":27.95393943786621},{"level":0,"mets":181,"time":"00:15:00","value":22.387889862060547},{"level":0,"mets":176,"time":"00:30:00","value":21.769439697265625},{"level":0,"mets":174,"time":"00:45:00","value":21.52206039428711},{"level":0,"mets":185,"time":"01:00:00","value":22.88265037536621},{"level":1,"mets":255,"time":"01:15:00","value [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-27.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-27.json
new file mode 100644
index 0000000..202b824
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-27.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-27","value":"2526"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":152,"time":"00:00:00","value":18.80392074584961},{"level":0,"mets":150,"time":"00:15:00","value":18.556499481201172},{"level":0,"mets":164,"time":"00:30:00","value":20.288440704345703},{"level":0,"mets":150,"time":"00:45:00","value":18.556499481201172},{"level":0,"mets":164,"time":"01:00:00","value":20.288440704345703},{"level":0,"mets":150,"time":"01:15:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-28.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-28.json
new file mode 100644
index 0000000..2d4bfa9
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-28.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-28","value":"2487"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":207,"time":"00:00:00","value":25.599689483642578},{"level":0,"mets":156,"time":"00:15:00","value":19.29252052307129},{"level":0,"mets":150,"time":"00:30:00","value":18.550500869750977},{"level":0,"mets":150,"time":"00:45:00","value":18.550500869750977},{"level":0,"mets":150,"time":"01:00:00","value":18.550500869750977},{"level":0,"mets":150,"time":"01:15:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-29.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-29.json
new file mode 100644
index 0000000..b76bbae
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-29.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-29","value":"2366"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":152,"time":"00:00:00","value":18.800880432128906},{"level":0,"mets":150,"time":"00:15:00","value":18.553499221801758},{"level":0,"mets":150,"time":"00:30:00","value":18.553499221801758},{"level":0,"mets":150,"time":"00:45:00","value":18.553499221801758},{"level":0,"mets":153,"time":"01:00:00","value":18.924570083618164},{"level":0,"mets":151,"time":"01:15:00","va [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-30.json b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-30.json
new file mode 100644
index 0000000..12f18ce
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-calories-2015-12-30.json
@@ -0,0 +1 @@
+{"activities-calories":[{"dateTime":"2015-12-30","value":"2423"}],"activities-calories-intraday":{"dataset":[{"level":0,"mets":150,"time":"00:00:00","value":18.556499481201172},{"level":0,"mets":150,"time":"00:15:00","value":18.556499481201172},{"level":0,"mets":150,"time":"00:30:00","value":18.556499481201172},{"level":0,"mets":150,"time":"00:45:00","value":18.556499481201172},{"level":0,"mets":150,"time":"01:00:00","value":18.556499481201172},{"level":0,"mets":150,"time":"01:15:00","va [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-10.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-10.json
new file mode 100644
index 0000000..68f620e
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-10.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-10","value":"3.89512"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00"," [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-11.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-11.json
new file mode 100644
index 0000000..c76feff
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-11.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-11","value":"2.00149"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0.005090000107884407},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{ [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-12.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-12.json
new file mode 100644
index 0000000..56bef33
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-12.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-12","value":"8.95491"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00"," [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-13.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-13.json
new file mode 100644
index 0000000..ccdddf6
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-13.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-13","value":"2.94223"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0.023259999230504036},{"time":"02:00:00","value":0.042169999331235886},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02: [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-14.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-14.json
new file mode 100644
index 0000000..0d6058d
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-14.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-14","value":"5.53064"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00"," [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-15.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-15.json
new file mode 100644
index 0000000..9205ebe
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-15.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-15","value":"3.23168"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0.0058200000785291195},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-16.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-16.json
new file mode 100644
index 0000000..d8a51f3
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-16.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-16","value":"4.82016"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0.0029100000392645597},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0.016720000654459},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45 [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-17.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-17.json
new file mode 100644
index 0000000..5dd7022
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-17.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-17","value":"7.1470899999999995"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0.005090000107884407},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00"," [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-18.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-18.json
new file mode 100644
index 0000000..deac045
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-18.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-18","value":"0.8208099999999999"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":" [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-19.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-19.json
new file mode 100644
index 0000000..94ba940
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-19.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-19","value":"3.18951"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00"," [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-20.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-20.json
new file mode 100644
index 0000000..de526b9
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-20.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-20","value":"4.2771"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0.006539999973028898},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{" [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-21.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-21.json
new file mode 100644
index 0000000..e1ff83b
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-21.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-21","value":"2.6448899999999997"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":" [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-22.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-22.json
new file mode 100644
index 0000000..19ceb2a
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-22.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-22","value":"5.50727"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0.024720000103116035},{"time":"00:30:00","value":0.03198999911546707},{"time":"00:45:00","value":0.03053000010550022},{"time":"01:00:00","value":0.0058200000785291195},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0.005090000107884407},{"time":"02:15:0 [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-23.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-23.json
new file mode 100644
index 0000000..707792c
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-23.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-23","value":"5.97912"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0.009449999779462814},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0.0029100000392645597},{"time":"02:30:00","value":0},{"time":"02 [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-24.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-24.json
new file mode 100644
index 0000000..9ac6540
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-24.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-24","value":"3.12907"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00"," [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-25.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-25.json
new file mode 100644
index 0000000..3a2ebab
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-25.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-25","value":"2.82234"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0.005090000107884407},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0.0058200000785291195},{"time":"02:30:00","value":0.015270000323 [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-26.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-26.json
new file mode 100644
index 0000000..d599e9d
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-26.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-26","value":"3.68443"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0.021810000762343407},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0.06396999955177307},{"time":"01:30:00","value":0.033440001308918},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value": [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-27.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-27.json
new file mode 100644
index 0000000..187d8f6
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-27.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-27","value":"2.51991"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0.007269999943673611},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0.0058200000785291195},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0.003640000009909272},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","va [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-28.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-28.json
new file mode 100644
index 0000000..5142588
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-28.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-28","value":"3.26652"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0.005090000107884407},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{ [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-29.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-29.json
new file mode 100644
index 0000000..a1d6a03
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-29.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-29","value":"2.7822999999999998"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":" [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-30.json b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-30.json
new file mode 100644
index 0000000..b0546a0
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-distance-2015-12-30.json
@@ -0,0 +1 @@
+{"activities-distance":[{"dateTime":"2015-12-30","value":"3.21054"}],"activities-distance-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00"," [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-10.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-10.json
new file mode 100644
index 0000000..ae5d51d
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-10.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-10","value":"18"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-11.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-11.json
new file mode 100644
index 0000000..6d8e1d5
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-11.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-11","value":"3"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-12.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-12.json
new file mode 100644
index 0000000..15f96a4
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-12.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-12","value":"18"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-13.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-13.json
new file mode 100644
index 0000000..d2e143a
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-13.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-13","value":"15"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":3.0480000972747803},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-14.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-14.json
new file mode 100644
index 0000000..9ee5ea8
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-14.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-14","value":"3"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-15.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-15.json
new file mode 100644
index 0000000..be89512
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-15.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-15","value":"12"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-16.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-16.json
new file mode 100644
index 0000000..293c0ea
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-16.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-16","value":"24"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-17.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-17.json
new file mode 100644
index 0000000..42cdaf5
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-17.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-17","value":"6"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-18.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-18.json
new file mode 100644
index 0000000..06ede4a
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-18.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-18","value":"0"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-19.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-19.json
new file mode 100644
index 0000000..a2ecf70
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-19.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-19","value":"15"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-20.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-20.json
new file mode 100644
index 0000000..b2031d4
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-20.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-20","value":"24"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-21.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-21.json
new file mode 100644
index 0000000..aefec18
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-21.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-21","value":"12"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-22.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-22.json
new file mode 100644
index 0000000..af10d9c
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-22.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-22","value":"6"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-23.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-23.json
new file mode 100644
index 0000000..08ecd72
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-23.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-23","value":"39"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-24.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-24.json
new file mode 100644
index 0000000..fd50f70
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-24.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-24","value":"6"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","valu [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-25.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-25.json
new file mode 100644
index 0000000..0d11a4b
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-25.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-25","value":"15"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-26.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-26.json
new file mode 100644
index 0000000..b1d6d19
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-26.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-26","value":"36"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":3.0480000972747803},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-27.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-27.json
new file mode 100644
index 0000000..640e26c
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-27.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-27","value":"15"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-28.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-28.json
new file mode 100644
index 0000000..797032c
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-28.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-28","value":"39"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-29.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-29.json
new file mode 100644
index 0000000..2a58366
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-29.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-29","value":"12"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-30.json b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-30.json
new file mode 100644
index 0000000..e1531b0
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-elevation-2015-12-30.json
@@ -0,0 +1 @@
+{"activities-elevation":[{"dateTime":"2015-12-30","value":"15"}],"activities-elevation-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","val [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-10.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-10.json
new file mode 100644
index 0000000..bd386ee
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-10.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-10","value":"6"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-11.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-11.json
new file mode 100644
index 0000000..d4027f8
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-11.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-11","value":"1"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-12.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-12.json
new file mode 100644
index 0000000..f0517cb
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-12.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-12","value":"6"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-13.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-13.json
new file mode 100644
index 0000000..52736a0
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-13.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-13","value":"5"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":1},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-14.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-14.json
new file mode 100644
index 0000000..71e2164
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-14.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-14","value":"1"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-15.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-15.json
new file mode 100644
index 0000000..6bc75ab
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-15.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-15","value":"4"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-16.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-16.json
new file mode 100644
index 0000000..a88bf41
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-16.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-16","value":"8"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-17.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-17.json
new file mode 100644
index 0000000..e47674d
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-17.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-17","value":"2"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-18.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-18.json
new file mode 100644
index 0000000..d0ba5b7
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-18.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-18","value":"0"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-19.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-19.json
new file mode 100644
index 0000000..1b2c7b7
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-19.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-19","value":"5"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-20.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-20.json
new file mode 100644
index 0000000..39f402b
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-20.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-20","value":"8"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-21.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-21.json
new file mode 100644
index 0000000..2b8035f
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-21.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-21","value":"4"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-22.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-22.json
new file mode 100644
index 0000000..bebfbb2
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-22.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-22","value":"2"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-23.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-23.json
new file mode 100644
index 0000000..544af3b
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-23.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-23","value":"13"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-24.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-24.json
new file mode 100644
index 0000000..a2d8f5a
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-24.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-24","value":"2"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-25.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-25.json
new file mode 100644
index 0000000..8cca747
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-25.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-25","value":"5"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-26.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-26.json
new file mode 100644
index 0000000..e2a971d
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-26.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-26","value":"12"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":1},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-27.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-27.json
new file mode 100644
index 0000000..cb2a45a
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-27.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-27","value":"5"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-28.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-28.json
new file mode 100644
index 0000000..92bf182
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-28.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-28","value":"13"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-29.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-29.json
new file mode 100644
index 0000000..6ea0c44
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-29.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-29","value":"4"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-30.json b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-30.json
new file mode 100644
index 0000000..5db7fed
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-floors-2015-12-30.json
@@ -0,0 +1 @@
+{"activities-floors":[{"dateTime":"2015-12-30","value":"5"}],"activities-floors-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0}, [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-10.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-10.json
new file mode 100644
index 0000000..85c05bd
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-10.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-10","value":"5319"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-11.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-11.json
new file mode 100644
index 0000000..e5c4048
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-11.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-11","value":"2753"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":7},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-12.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-12.json
new file mode 100644
index 0000000..3ce6b21
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-12.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-12","value":"12208"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0 [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-13.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-13.json
new file mode 100644
index 0000000..992db69
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-13.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-13","value":"4047"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":32},{"time":"02:00:00","value":58},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value": [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-14.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-14.json
new file mode 100644
index 0000000..a1f8e2c
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-14.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-14","value":"7501"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-15.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-15.json
new file mode 100644
index 0000000..8ce51dc
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-15.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-15","value":"4445"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":8},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-16.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-16.json
new file mode 100644
index 0000000..a43ce15
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-16.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-16","value":"6561"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":4},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":23},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0 [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-17.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-17.json
new file mode 100644
index 0000000..d6e6f3c
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-17.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-17","value":"9733"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":7},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-18.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-18.json
new file mode 100644
index 0000000..5ecc672
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-18.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-18","value":"1129"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-19.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-19.json
new file mode 100644
index 0000000..4992b38
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-19.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-19","value":"4387"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-20.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-20.json
new file mode 100644
index 0000000..5a39335
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-20.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-20","value":"5883"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":9},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-21.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-21.json
new file mode 100644
index 0000000..54dd6fc
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-21.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-21","value":"3638"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-22.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-22.json
new file mode 100644
index 0000000..e19b15a
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-22.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-22","value":"7536"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":34},{"time":"00:30:00","value":44},{"time":"00:45:00","value":42},{"time":"01:00:00","value":8},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":7},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value" [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-23.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-23.json
new file mode 100644
index 0000000..f59c288
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-23.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-23","value":"8187"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":13},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":4},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0 [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-24.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-24.json
new file mode 100644
index 0000000..b8823b6
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-24.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-24","value":"4304"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-25.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-25.json
new file mode 100644
index 0000000..65a43b8
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-25.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-25","value":"3882"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":7},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":8},{"time":"02:30:00","value":21},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0 [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-26.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-26.json
new file mode 100644
index 0000000..985a587
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-26.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-26","value":"5068"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":30},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":88},{"time":"01:30:00","value":46},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value" [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-27.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-27.json
new file mode 100644
index 0000000..9bf53ff
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-27.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-27","value":"3466"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":10},{"time":"00:45:00","value":0},{"time":"01:00:00","value":8},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":5},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":4},{"time":"02:45:00","value":0},{"time":"03:00:00","value":7 [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-28.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-28.json
new file mode 100644
index 0000000..d8f52f6
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-28.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-28","value":"4493"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":7},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-29.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-29.json
new file mode 100644
index 0000000..69f3167
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-29.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-29","value":"3827"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":15 [...]
diff --git a/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-30.json b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-30.json
new file mode 100644
index 0000000..760d3fc
--- /dev/null
+++ b/inst/extdata/intra-daily-timeseries/intra-steps-2015-12-30.json
@@ -0,0 +1 @@
+{"activities-steps":[{"dateTime":"2015-12-30","value":"4416"}],"activities-steps-intraday":{"dataset":[{"time":"00:00:00","value":0},{"time":"00:15:00","value":0},{"time":"00:30:00","value":0},{"time":"00:45:00","value":0},{"time":"01:00:00","value":0},{"time":"01:15:00","value":0},{"time":"01:30:00","value":0},{"time":"01:45:00","value":0},{"time":"02:00:00","value":0},{"time":"02:15:00","value":0},{"time":"02:30:00","value":0},{"time":"02:45:00","value":0},{"time":"03:00:00","value":0} [...]
diff --git a/man/DataLoader.Rd b/man/DataLoader.Rd
new file mode 100644
index 0000000..b2ef9dc
--- /dev/null
+++ b/man/DataLoader.Rd
@@ -0,0 +1,47 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/DataLoader.R
+\docType{class}
+\name{DataLoader}
+\alias{DataLoader}
+\title{R6 class for Loading Fitbit data}
+\format{A \code{\link{R6Class}} generator object}
+\usage{
+DataLoader
+}
+\description{
+DataLoader is an R6 Class that connects to the Fitbit API with the  credentials, requests the data, and writes the response to JSON files,
+}
+\section{Methods}{
+
+\describe{
+  \item{\code{connect(appname, key, secret, cache.file)}}{This method connects to the Fitbit API and to your application. 
+  \cr \code{appname}: Name of the Fitbit App
+  \cr \code{key}: Fitbit API Client key
+  \cr \code{secret}: Fibit API Client secret
+  \cr \code{cache.file}: Path to a cached token file, instead of providing credentials in the function call}
+  \item{\code{request(type = "day", activities = "", start.date = Sys.Date(), end.date = "", path = "./json/"))}}{This method builds the request URLs, sends the requests and writes response to JSON files, in the specified folder.
+  \cr \code{type}: Type of time series. Must be 'day' or 'intraday'.
+  \cr \code{activities}: A list of the Fitibit activities to be retrieved.
+  \cr \code{start.date}: Start date in format YYYY-mm-dd.
+  \cr \code{end.date}: End date in format YYYY-mm-dd.
+  \cr \code{path}: Folder where the JSON files will be written.}
+}
+}
+\examples{
+\dontrun{
+testObject <- DataLoader$new()
+
+testObject$connect(appname = "abcd",
+                   key = "123ABC",
+                   secret = "3089e3h1ac9dde0aa67b54ajc8691j44")
+
+testObject$request(
+    type = 'day', 
+    activities = list("calories", "steps", "distance", "minutesVeryActive"), 
+    start.date = "2016-01-01", 
+    end.date = "2016-02-01", 
+    path = "~/fitbit-daily/")
+}
+}
+\keyword{data}
+
diff --git a/man/FitAnalyzer.Rd b/man/FitAnalyzer.Rd
new file mode 100644
index 0000000..a78f815
--- /dev/null
+++ b/man/FitAnalyzer.Rd
@@ -0,0 +1,33 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitAnalyzer.R
+\docType{class}
+\name{FitAnalyzer}
+\alias{FitAnalyzer}
+\title{R6 class for Analyzing Fitbit  Data}
+\format{A \code{\link{R6Class}} generator object}
+\usage{
+FitAnalyzer
+}
+\description{
+FitAnalyzer is an R6 class for analyzing Fitbit data. It is an opinionated implementation of a particular workflow for analysis. 
+For people attempting to conduct their own analysis in a different fashion you should use the more generic functions implemented in FitUtil. \cr \cr
+The workflow implemented for FitAnalyzer is the following: \cr
+1.	Create the FitAnalyzer with the goal variable for analysis. Eg: Calories or steps or distance. The goal variable is your personal goal that you are trying to analyze better. \cr
+2.	Call \code{findImportantVariables} to understand the most important variables unique to you that enable meeting your goal. \cr
+3.	Call \code{showMostImportantCharts} to get relevant charts that are unique to your data \cr
+4.	Call \code{predictGoal} to get a prediction on performance of the goal \cr \cr
+You can conduct two types of analysis based on the type of dataset in consideration. \code{analysis.type} can be 'intra.day' or 'daily' analysis.
+}
+\section{Methods}{
+
+\describe{
+  \item{\code{getAnalysisFrame(folder, analysis.type)}}{This method uses \code{analysis.type} as an argument to return a data.frame that is clean and augmented with additional features like weekend.}
+  \item{\code{findImportantVariables(tsDataFrame, seed = 12345)}}{Finds the most important variables that are enabling meeting the goals for the person, by creating a `glm` model and ranking the variables based on the coefficients of the model.}
+  \item{\code{getFit()}}{Returns the `glm` fit object.}
+  \item{\code{showMostImportantCharts(tsDataFrame)}}{Plots charts for the most relevant goals, with actual data and moving average using \code{geom_smooth()}.
+  \cr \code{tsDataFrame}: a data.frame containing the fitibit activities.}
+  \item{\code{predictGoal(x)}}{Gives a prediction on the goal performance, based on `glm` (daily) or `gbm` (intraday).}
+}
+}
+\keyword{data}
+
diff --git a/man/augmentData.Rd b/man/augmentData.Rd
new file mode 100644
index 0000000..0becdfd
--- /dev/null
+++ b/man/augmentData.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{augmentData}
+\alias{augmentData}
+\title{Augments the Master data.frame with additional information}
+\usage{
+augmentData(masterTsDataFrame)
+}
+\arguments{
+\item{masterTsDataFrame}{The Master Time Series data.frame}
+}
+\value{
+The Master data.frame with additinal data elements 
+        weekday, weekend
+}
+\description{
+Augments the Master data.frame with additional information
+}
+
diff --git a/man/augmentIntraData.Rd b/man/augmentIntraData.Rd
new file mode 100644
index 0000000..2109af5
--- /dev/null
+++ b/man/augmentIntraData.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{augmentIntraData}
+\alias{augmentIntraData}
+\title{Augments the intra day data.frame with additional information}
+\usage{
+augmentIntraData(inFrame)
+}
+\arguments{
+\item{inFrame}{The Master Time Series data.frame}
+}
+\value{
+The Master data.frame with additinal data elements 
+        weekday, weekend, cum.sums of various variables
+}
+\description{
+Augments the intra day data.frame with additional information
+}
+
diff --git a/man/buildChartDay.Rd b/man/buildChartDay.Rd
new file mode 100644
index 0000000..1271f6f
--- /dev/null
+++ b/man/buildChartDay.Rd
@@ -0,0 +1,20 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{buildChartDay}
+\alias{buildChartDay}
+\title{Build Day timeseries Chart}
+\usage{
+buildChartDay(data, y.axes)
+}
+\arguments{
+\item{data}{data.frame}
+
+\item{y.axes}{Names of the Y-axes data, as a vector of characters}
+}
+\value{
+A plot
+}
+\description{
+Plots charts that have been selected as most relevant.
+}
+
diff --git a/man/buildChartIntra.Rd b/man/buildChartIntra.Rd
new file mode 100644
index 0000000..f183109
--- /dev/null
+++ b/man/buildChartIntra.Rd
@@ -0,0 +1,20 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{buildChartIntra}
+\alias{buildChartIntra}
+\title{Build Intraday Chart}
+\usage{
+buildChartIntra(data, y.axes)
+}
+\arguments{
+\item{data}{data.frame}
+
+\item{y.axes}{Names of the Y-axes data, as a vector of characters}
+}
+\value{
+A plot
+}
+\description{
+Plots intraday charts for the most relevant activities
+}
+
diff --git a/man/connectToAPI.Rd b/man/connectToAPI.Rd
new file mode 100644
index 0000000..d829758
--- /dev/null
+++ b/man/connectToAPI.Rd
@@ -0,0 +1,23 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{connectToAPI}
+\alias{connectToAPI}
+\title{Connects to Fibit API}
+\usage{
+connectToAPI(appname, key, secret)
+}
+\arguments{
+\item{appname}{Name of the Fitbit App}
+
+\item{key}{Fitbit API Client key}
+
+\item{secret}{Fibit API Client secret}
+}
+\value{
+A Fitbit API token, that will be cached
+}
+\description{
+Connects to the Fitbit API with OAuth 2. 
+See https://dev.fitbit.com/docs/oauth2/
+}
+
diff --git a/man/createDependentVariableFrame.Rd b/man/createDependentVariableFrame.Rd
new file mode 100644
index 0000000..1e3cc0e
--- /dev/null
+++ b/man/createDependentVariableFrame.Rd
@@ -0,0 +1,17 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{createDependentVariableFrame}
+\alias{createDependentVariableFrame}
+\title{Creates a data.frame with only goal variables}
+\usage{
+createDependentVariableFrame(master, goal)
+}
+\arguments{
+\item{master}{Master data.frame}
+
+\item{goal}{Goal variable}
+}
+\description{
+Creates a data.frame with only goal variables
+}
+
diff --git a/man/createGoalVariableVector.Rd b/man/createGoalVariableVector.Rd
new file mode 100644
index 0000000..e24dc4e
--- /dev/null
+++ b/man/createGoalVariableVector.Rd
@@ -0,0 +1,17 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{createGoalVariableVector}
+\alias{createGoalVariableVector}
+\title{Creates a vector of goal variables}
+\usage{
+createGoalVariableVector(master, goal)
+}
+\arguments{
+\item{master}{Master data.frame}
+
+\item{goal}{Goal variable}
+}
+\description{
+Creates a vector of goal variables
+}
+
diff --git a/man/createIntraFrame.Rd b/man/createIntraFrame.Rd
new file mode 100644
index 0000000..1198d89
--- /dev/null
+++ b/man/createIntraFrame.Rd
@@ -0,0 +1,15 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{createIntraFrame}
+\alias{createIntraFrame}
+\title{Creates the intraday Frame}
+\usage{
+createIntraFrame(folder)
+}
+\arguments{
+\item{folder}{The folder in which JSON files will be read.}
+}
+\description{
+Creates the intraday Frame
+}
+
diff --git a/man/createTsMasterFrame.Rd b/man/createTsMasterFrame.Rd
new file mode 100644
index 0000000..8bce8ee
--- /dev/null
+++ b/man/createTsMasterFrame.Rd
@@ -0,0 +1,20 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{createTsMasterFrame}
+\alias{createTsMasterFrame}
+\title{Creates the Master data.frame from Timeseries JSON files.}
+\usage{
+createTsMasterFrame(tsFileFolder, resourcePath = getDailyResourcePathList())
+}
+\arguments{
+\item{tsFileFolder}{Folder containing all time-series files. Naming convention for files is max-[resource].json}
+
+\item{resourcePath}{the resource paths to look. Default will get getDailyResourcePathList()}
+}
+\value{
+The Master data.frame
+}
+\description{
+Creates the Master data.frame from Timeseries JSON files.
+}
+
diff --git a/man/fetchIntraResourceData.Rd b/man/fetchIntraResourceData.Rd
new file mode 100644
index 0000000..eb5f5f0
--- /dev/null
+++ b/man/fetchIntraResourceData.Rd
@@ -0,0 +1,22 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{fetchIntraResourceData}
+\alias{fetchIntraResourceData}
+\title{Loads the JSON files for intraday data and returns a data.frame}
+\usage{
+fetchIntraResourceData(folder, resource, files)
+}
+\arguments{
+\item{folder}{the folder to source the files from}
+
+\item{resource}{the type of resource(Eg: calories, steps, distance etc)}
+
+\item{files}{the list of files to look into for fetch}
+}
+\value{
+Resource data.frame
+}
+\description{
+Loads the JSON files for intraday data and returns a data.frame
+}
+
diff --git a/man/getAPIScope.Rd b/man/getAPIScope.Rd
new file mode 100644
index 0000000..41e844a
--- /dev/null
+++ b/man/getAPIScope.Rd
@@ -0,0 +1,16 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{getAPIScope}
+\alias{getAPIScope}
+\title{Get API scope}
+\usage{
+getAPIScope()
+}
+\value{
+A vector of scope
+}
+\description{
+Gets the scopes that will be retrieved by the API request to fitbit.
+See https://dev.fitbit.com/docs/oauth2/#scope
+}
+
diff --git a/man/getDailyResourcePathList.Rd b/man/getDailyResourcePathList.Rd
new file mode 100644
index 0000000..9e20444
--- /dev/null
+++ b/man/getDailyResourcePathList.Rd
@@ -0,0 +1,15 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{getDailyResourcePathList}
+\alias{getDailyResourcePathList}
+\title{Returns a list of Fitbit Daily activities}
+\usage{
+getDailyResourcePathList()
+}
+\value{
+A list
+}
+\description{
+Returns a list of Fitbit Daily activities
+}
+
diff --git a/man/getIntradayResourcePathList.Rd b/man/getIntradayResourcePathList.Rd
new file mode 100644
index 0000000..57aa923
--- /dev/null
+++ b/man/getIntradayResourcePathList.Rd
@@ -0,0 +1,15 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{getIntradayResourcePathList}
+\alias{getIntradayResourcePathList}
+\title{Returns a list of Fitbit Intraday activities}
+\usage{
+getIntradayResourcePathList()
+}
+\value{
+A list
+}
+\description{
+Returns a list of Fitbit Intraday activities
+}
+
diff --git a/man/makeAPIRequest.Rd b/man/makeAPIRequest.Rd
new file mode 100644
index 0000000..2d55bda
--- /dev/null
+++ b/man/makeAPIRequest.Rd
@@ -0,0 +1,26 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{makeAPIRequest}
+\alias{makeAPIRequest}
+\title{Make API Request}
+\usage{
+makeAPIRequest(type, activity, start.date, end.date, api.token)
+}
+\arguments{
+\item{type}{Type of time series. Must be 'day' or 'intraday'}
+
+\item{activity}{Type of activity. See below for details.}
+
+\item{start.date}{Start date in format YYYY-mm-dd}
+
+\item{end.date}{End date in format YYYY-mm-dd}
+
+\item{api.token}{API token for connection to Fitbit API}
+}
+\value{
+The request response
+}
+\description{
+Makes request to Fitbit API, and stores the response into a variable.
+}
+
diff --git a/man/markValidRows.Rd b/man/markValidRows.Rd
new file mode 100644
index 0000000..e6eeafe
--- /dev/null
+++ b/man/markValidRows.Rd
@@ -0,0 +1,18 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{markValidRows}
+\alias{markValidRows}
+\title{Incorporates rules for marking if the data entry in MasterTSFrame are valid or not}
+\usage{
+markValidRows(masterTsDataFrame)
+}
+\arguments{
+\item{masterTsDataFrame}{The Master Time Series data.frame}
+}
+\value{
+The marked Master data.frame. i.e column valid is added at the end of the data.frame
+}
+\description{
+Incorporates rules for marking if the data entry in MasterTSFrame are valid or not
+}
+
diff --git a/man/properCase.Rd b/man/properCase.Rd
new file mode 100644
index 0000000..fd0d5cd
--- /dev/null
+++ b/man/properCase.Rd
@@ -0,0 +1,18 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{properCase}
+\alias{properCase}
+\title{Proper Case}
+\usage{
+properCase(x)
+}
+\arguments{
+\item{x}{A string}
+}
+\value{
+A string with proper case
+}
+\description{
+Sets a string to proper case, i.e. upper case for the first letter of each word
+}
+
diff --git a/man/writeToJSON.Rd b/man/writeToJSON.Rd
new file mode 100644
index 0000000..922f050
--- /dev/null
+++ b/man/writeToJSON.Rd
@@ -0,0 +1,23 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/FitUtil.R
+\name{writeToJSON}
+\alias{writeToJSON}
+\title{Write to JSON}
+\usage{
+writeToJSON(content, path, type, activity, start.date)
+}
+\arguments{
+\item{content}{JSON content to be written to file}
+
+\item{path}{Path to folder where files will be created}
+
+\item{type}{Type of time series. Must be 'day' or 'intraday'}
+
+\item{activity}{Type of activity. See below for details.}
+
+\item{start.date}{Start date}
+}
+\description{
+Writes API response content to JSON files, in a specific folder
+}
+
diff --git a/tests/testthat.R b/tests/testthat.R
new file mode 100644
index 0000000..d1f0f42
--- /dev/null
+++ b/tests/testthat.R
@@ -0,0 +1,4 @@
+library(testthat)
+library(fitcoach)
+
+test_check("fitcoach")
diff --git a/tests/testthat/test-fitanalyzer.R b/tests/testthat/test-fitanalyzer.R
new file mode 100644
index 0000000..4755928
--- /dev/null
+++ b/tests/testthat/test-fitanalyzer.R
@@ -0,0 +1,51 @@
+context("FitAnalyzer tests")
+
+test_that("FitAnalyzer test cases", {
+    
+    masterPath <-
+        system.file("extdata", "daily-time-series", package = "fitcoach")
+
+    ### Tests for daily analysis
+  
+    # Test 1 - Initializing and dataframe creation
+    ana <- FitAnalyzer$new("calories")
+    ts <-
+        ana$getAnalysisFrame(folder = masterPath, analysis.type = "daily")
+    expect_equal(nrow(ts), 191)
+    
+    # Test 2 - Find important variables
+    vars <- ana$findImportantVariables(tsDataFrame = ts, seed = 12345)
+    expect_equal(vars$name[1], "minutesLightlyActive")
+    
+    # Test 3 - Find important variables, without arguments
+    vars <- ana$findImportantVariables()
+    expect_equal(names(vars[1]), "Overall")
+    
+    # Test 4 - Goal prediction
+    rows.test <- ts[c(3,7,10), ]
+    rows.test <- createDependentVariableFrame(master = rows.test, goal = "calories")
+    res <- ana$predictGoal(rows.test)
+    expect_less_than(res[1], 2820)
+    expect_gte(res[1], 2819)
+    
+    ### Tests for intra-day analysis
+    
+    # Test 5 - Initializing and dataframe creation
+    masterPath <-
+        system.file("extdata", "intra-daily-timeseries", package = "fitcoach")
+    ana <- FitAnalyzer$new("calories")
+    intra <-
+        ana$getAnalysisFrame(folder = masterPath, analysis.type = "intra.day")
+    expect_equal(nrow(intra), 2016)
+
+    # Test 6 - Find important variables
+    vars <- ana$findImportantVariables(intra)
+    vars <- sort(vars, decreasing = TRUE)
+    expect_equal(names(vars[1]), "steps")
+    
+    # Test 7 - Predict goal for the day
+    rows.test <- intra[c(3), ]
+    res <- ana$predictGoal(rows.test)
+    expect_less_than(res , 2518)
+
+})
diff --git a/tests/testthat/test-fitutil.R b/tests/testthat/test-fitutil.R
new file mode 100644
index 0000000..c580e5d
--- /dev/null
+++ b/tests/testthat/test-fitutil.R
@@ -0,0 +1,45 @@
+context("Fit util tests")
+
+test_that("Fitutil test cases", {
+
+    ### Tests for daily analysis
+    
+    # Test 1 - Create master dataframe
+    masterPath <-
+        system.file("extdata", "daily-time-series", package = "fitcoach")
+    master <- createTsMasterFrame(masterPath)
+    master <- markValidRows(master)
+    master <- master[master$valid == TRUE, ]
+    master <- augmentData(master)
+    expect_equal(nrow(master), 191)
+    
+    # Test 2 - createGoalVariableVector()
+    y <- createGoalVariableVector(master, goal = "calories")
+    expect_gte(mean(y), 2632)
+    
+    # Test 3 - createDependentVariableFrame()
+    x <- createDependentVariableFrame(master, goal = "calories")
+    expect_equal(ncol(x), 9)
+    
+    # Test 4 - Distance Goal
+    y <- createGoalVariableVector(master, goal = "distance")
+    expect_lte(mean(y), 4.9)
+    
+    # Test 5 - Distance X
+    x <- createDependentVariableFrame(master, goal = "distance")
+    expect_equal(ncol(x), 8)
+    
+        
+    ### Tests for intra-day analysis
+    
+    # Test 6 - createIntraFrame()
+     folder <-
+         system.file("extdata", "intra-daily-timeseries", package = "fitcoach")
+     intraMaster <- createIntraFrame(folder)
+     expect_equal(nrow(intraMaster), 2016)
+
+     # Test 7 - augmentIntraData()
+     intraMaster <- augmentIntraData(intraMaster)
+     expect_equal(ncol(intraMaster),24)
+     
+})
diff --git a/vignettes/examples/fitcoach-usage.Rmd b/vignettes/examples/fitcoach-usage.Rmd
new file mode 100644
index 0000000..88ebb05
--- /dev/null
+++ b/vignettes/examples/fitcoach-usage.Rmd
@@ -0,0 +1,220 @@
+---
+title: "Fitcoach package workflow example"
+author: "Niraj Juneja, Charles de Lassence"
+output: rmarkdown::pdf_document
+vignette: >
+  %\VignetteIndexEntry{Vignette Title}
+  %\VignetteEngine{knitr::rmarkdown}
+  \usepackage[utf8]{inputenc}
+---
+
+```{r setup, include = FALSE}
+knitr::opts_chunk$set(echo = TRUE)
+library(fitcoach)
+library(ggplot2)
+```
+
+## Example 1: Data Loader - Getting data from Fitbit API
+
+This part explains how to connect to the Fitbit API and get your data, using `DataLoader`. 
+
+
+**Step 1:** You first need to make sure that you have [registered an app](https://dev.fitbit.com/) and set it as *Personal* in order to retrieve intraday data. You will need the following credentials in order to connect the API: App name (or *OAuth 2.0 Client ID*), Client Key and Client Secret. 
+
+
+**Step 2:** We initialize a new `DataLoader` object, and connect to the API with OAuth2, using the credentials described above. Note that instead of providing the credentials directly as parameters, you could point to a cache file (usually named `.httr-oauth`) using the `cache.file` parameter.
+
+```{r eval = FALSE}
+mydata <- DataLoader$new()
+mydata$connect(appname = "cdlr",
+               key = "227FWR",
+               secret = "3089e3d1ac5dde1aa00b54a0c8661f42"
+)
+```
+
+
+**Step 3:** We request the data and write it to JSON files using the `request` method. You need to specify the type of timeseries ('day' or 'intraday'), the list of activities ([full list here](https://dev.fitbit.com/docs/activity/)), the start and end dates, and the folder in which the JSON files will be written.
+
+```{r eval = FALSE}
+masterPath <- system.file("extdata", 
+                          "daily-time-series", 
+                          package = "fitcoach")
+
+mydata$request(
+    type = 'day', 
+    activities = list("calories", "steps", "distance", "minutesVeryActive"), 
+    start.date = "2016-01-01", 
+    end.date = "2016-02-01", 
+    path = masterPath
+)
+```
+
+Once the JSON files have been created, they can be used for further analysis.
+
+
+## Example 2: Fit Analyzer - Daily File Analysis
+
+Examples below demonstrate usage scenarios for `FitAnalyzer`.
+
+
+**Step 1:** We first need to point to a folder that contains the JSON files for "daily" file analysis. These files are created by `DataLoader.R`.
+
+We then create a new instance of `FitAnalyzer`, passing in the folder and the goal that we want to optimize on. Goals can be the following: a) calories b) steps c) distance d) floors.
+
+The example below uses `steps` as the goal.
+
+```{r}
+masterPath <- system.file("extdata", 
+                          "daily-time-series", 
+                          package = "fitcoach")
+
+ana <- FitAnalyzer$new("steps")
+```
+
+
+**Step 2:** Next we get the data.frame ready for analysis. Note this data.frame is cleaned and augmented with additional data elements not present in the JSON file. E.g.: we augment `weekday`, `weekend` and mark rows that are valid.
+
+```{r}
+timeseries.frame <- 
+    ana$getAnalysisFrame(folder = masterPath, 
+                         analysis.type = "daily")
+head(timeseries.frame)
+```
+
+
+**Step 3:** next we find the most important variables that are enabling meeting the goals for the person. Note this call creates a `glm` model behind the scenes and ranks the variables based on the coefficients of the glm model. You can also get the `glm` fit object to do further analysis.
+
+```{r}
+vars <- ana$findImportantVariables(tsDataFrame = timeseries.frame, 
+                                   seed = 12345)
+vars
+```
+
+
+Getting the `fit` object.
+
+```{r}
+fit <- ana$getFit()
+summary(fit)
+```
+
+
+```{r}
+par(mfrow=c(2,2))
+plot(fit)
+```
+
+
+**Step 4:** Next, we can then plot the performance of the individual, relative to the most important variables that are making a difference. 
+
+```{r fig.width= 7}
+ana$showMostImportantCharts(tsDataFrame = timeseries.frame)
+```
+
+
+**Step 5:** We can also get the prediction on goal performance using the call below.
+
+```{r}
+rows.test <- timeseries.frame[sample(1:191, 1), ]
+x <- createDependentVariableFrame(master = rows.test, goal = "steps")
+res <- ana$predictGoal(x)
+cat(paste("Prediction for the day", ": expected steps = ", round(res)))
+```
+
+
+*** 
+
+## Example 3: FitAnalyzer - Intraday File Analysis
+
+Examples below demonstrate usage scenarios for `FitAnalyzer` for **Intraday analysis**.
+
+
+**Step 1**: We first need to point to a folder that contains the JSON files for *intraday* file analysis. These files are created by `DataLoader.R`.
+
+We then create a new instance of `FitAnalyzer` passing in the folder and the goal that we want to optimize on. Goals can be the following: a) calories b) steps c) distance d) floors .
+
+The example below uses *calories* as the goal
+
+```{r }
+masterPath <-
+    system.file("extdata", "intra-daily-timeseries", package = "fitcoach")
+ana <- FitAnalyzer$new("calories")
+```
+
+
+**Step 2:** Next we get the data.frame ready for analysis. Note that this data.frame is cleaned and augmented with additional data elements not present in the JSON file. E.g.: we augment cumulative sum during the day, weekday, weekend, etc.
+
+```{r}
+intra <- ana$getAnalysisFrame(folder = masterPath, analysis.type = "intra.day")
+head(intra)
+```
+
+
+**Step 3:** Next we find the most important variables that are enabling meeting the goals for the person. Note: this call creates a **gbm** model behind the scenes and ranks the variables based on *relative.influence* call to `gbm` model. You can also get the `gbm` fit object to do further analysis.
+
+```{r}
+vars <- ana$findImportantVariables(intra)
+vars <- sort(vars, decreasing = TRUE)
+vars
+```
+
+
+Plot of important variables below.
+
+```{r}
+vars.frame <- data.frame(variables = names(vars), values = vars)
+vars.frame$lnvalue <- log(vars.frame$values)
+vars.frame <- vars.frame[1:7, ]
+barplot(vars.frame$value, xlab = "variables", ylab = "relative importance", 
+        names.arg = vars.frame$variables,
+        cex.names = 0.65, cex.lab = 0.65, ylim = c(0.0, 0.1))
+```
+
+
+Summary of GBM model fit below.
+
+```{r}
+fit <- ana$getFit()
+summary(fit)
+```
+
+
+**Step 4:** Next we can then plot the performance of the individual relative to the most important variables that are making a difference. 
+For the 4 most important variables, the average value for every 15 min of a day is plotted, along with the moving average (using `geom_smooth` from `ggplot2`).
+
+```{r fig.width= 7}
+ana$showMostImportantCharts(tsDataFrame = intra)
+```
+
+
+**Step 5:** We can also get the prediction on goal performance using the call below.
+
+```{r}
+rows.test <- intra[sample(1:191, 1), ] # Take any random input for test
+res <- ana$predictGoal(rows.test)
+cat(paste("Prediction for the day", ": expected calories =", round(res)))
+```
+
+
+## Example 4: FitUtil - Illustration for usage of FitUtil functions
+
+Approach to get a clean data.frame from JSON files.
+
+```{r}
+# masterPath is the folder containing JSON files
+masterPath <- system.file("extdata", "daily-time-series", package = "fitcoach")
+
+# Create the data.frame. This is not cleaned
+master <- createTsMasterFrame(masterPath)
+
+# Identify and Mark rows that are valid. i.e distance for the day >0
+master <- markValidRows(master)
+
+# Filter Valid rows only
+master <- master[master$valid == TRUE, ]
+
+# Augment data with additional information. Eg: weekday information
+master <- augmentData(master)
+head(master)
+```
+
diff --git a/vignettes/examples/fitcoach-usage.html b/vignettes/examples/fitcoach-usage.html
new file mode 100644
index 0000000..c04a934
--- /dev/null
+++ b/vignettes/examples/fitcoach-usage.html
@@ -0,0 +1,403 @@
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+
+<meta charset="utf-8">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="pandoc" />
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+<meta name="author" content="Niraj Juneja, Charles de Lassence" />
+
+
+<title>Fitcoach package workflow example</title>
+
+<script src="data:application/x-javascript,%2F%2A%21%20jQuery%20v1%2E11%2E3%20%7C%20%28c%29%202005%2C%202015%20jQuery%20Foundation%2C%20Inc%2E%20%7C%20jquery%2Eorg%2Flicense%20%2A%2F%0A%21function%28a%2Cb%29%7B%22object%22%3D%3Dtypeof%20module%26%26%22object%22%3D%3Dtypeof%20module%2Eexports%3Fmodule%2Eexports%3Da%2Edocument%3Fb%28a%2C%210%29%3Afunction%28a%29%7Bif%28%21a%2Edocument%29throw%20new%20Error%28%22jQuery%20requires%20a%20window%20with%20a%20document%22%29%3Breturn%20b%28a%29% [...]
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<link href="data:text/css,%2F%2A%21%0A%20%2A%20Bootstrap%20v3%2E3%2E5%20%28http%3A%2F%2Fgetbootstrap%2Ecom%29%0A%20%2A%20Copyright%202011%2D2015%20Twitter%2C%20Inc%2E%0A%20%2A%20Licensed%20under%20MIT%20%28https%3A%2F%2Fgithub%2Ecom%2Ftwbs%2Fbootstrap%2Fblob%2Fmaster%2FLICENSE%29%0A%20%2A%2F%2F%2A%21%20normalize%2Ecss%20v3%2E0%2E3%20%7C%20MIT%20License%20%7C%20github%2Ecom%2Fnecolas%2Fnormalize%2Ecss%20%2A%2Fhtml%7Bfont%2Dfamily%3Asans%2Dserif%3B%2Dwebkit%2Dtext%2Dsize%2Dadjust%3A100%25% [...]
+<script src="data:application/x-javascript,%2F%2A%21%0A%20%2A%20Bootstrap%20v3%2E3%2E5%20%28http%3A%2F%2Fgetbootstrap%2Ecom%29%0A%20%2A%20Copyright%202011%2D2015%20Twitter%2C%20Inc%2E%0A%20%2A%20Licensed%20under%20the%20MIT%20license%0A%20%2A%2F%0Aif%28%22undefined%22%3D%3Dtypeof%20jQuery%29throw%20new%20Error%28%22Bootstrap%27s%20JavaScript%20requires%20jQuery%22%29%3B%2Bfunction%28a%29%7B%22use%20strict%22%3Bvar%20b%3Da%2Efn%2Ejquery%2Esplit%28%22%20%22%29%5B0%5D%2Esplit%28%22%2E%22%29 [...]
+<script src="data:application/x-javascript,%2F%2A%2A%0A%2A%20%40preserve%20HTML5%20Shiv%203%2E7%2E2%20%7C%20%40afarkas%20%40jdalton%20%40jon%5Fneal%20%40rem%20%7C%20MIT%2FGPL2%20Licensed%0A%2A%2F%0A%2F%2F%20Only%20run%20this%20code%20in%20IE%208%0Aif%20%28%21%21window%2Enavigator%2EuserAgent%2Ematch%28%22MSIE%208%22%29%29%20%7B%0A%21function%28a%2Cb%29%7Bfunction%20c%28a%2Cb%29%7Bvar%20c%3Da%2EcreateElement%28%22p%22%29%2Cd%3Da%2EgetElementsByTagName%28%22head%22%29%5B0%5D%7C%7Ca%2Edocum [...]
+<script src="data:application/x-javascript,%2F%2A%21%20Respond%2Ejs%20v1%2E4%2E2%3A%20min%2Fmax%2Dwidth%20media%20query%20polyfill%20%2A%20Copyright%202013%20Scott%20Jehl%0A%20%2A%20Licensed%20under%20https%3A%2F%2Fgithub%2Ecom%2Fscottjehl%2FRespond%2Fblob%2Fmaster%2FLICENSE%2DMIT%0A%20%2A%20%20%2A%2F%0A%0A%2F%2F%20Only%20run%20this%20code%20in%20IE%208%0Aif%20%28%21%21window%2Enavigator%2EuserAgent%2Ematch%28%22MSIE%208%22%29%29%20%7B%0A%21function%28a%29%7B%22use%20strict%22%3Ba%2Ematc [...]
+
+<style type="text/css">code{white-space: pre;}</style>
+<link href="data:text/css,pre%20%2Eoperator%2C%0Apre%20%2Eparen%20%7B%0A%20color%3A%20rgb%28104%2C%20118%2C%20135%29%0A%7D%0A%0Apre%20%2Eliteral%20%7B%0A%20color%3A%20%23990073%0A%7D%0A%0Apre%20%2Enumber%20%7B%0A%20color%3A%20%23099%3B%0A%7D%0A%0Apre%20%2Ecomment%20%7B%0A%20color%3A%20%23998%3B%0A%20font%2Dstyle%3A%20italic%0A%7D%0A%0Apre%20%2Ekeyword%20%7B%0A%20color%3A%20%23900%3B%0A%20font%2Dweight%3A%20bold%0A%7D%0A%0Apre%20%2Eidentifier%20%7B%0A%20color%3A%20rgb%280%2C%200%2C%200%29 [...]
+<script src="data:application/x-javascript,%0Avar%20hljs%3Dnew%20function%28%29%7Bfunction%20m%28p%29%7Breturn%20p%2Ereplace%28%2F%26%2Fgm%2C%22%26amp%3B%22%29%2Ereplace%28%2F%3C%2Fgm%2C%22%26lt%3B%22%29%7Dfunction%20f%28r%2Cq%2Cp%29%7Breturn%20RegExp%28q%2C%22m%22%2B%28r%2EcI%3F%22i%22%3A%22%22%29%2B%28p%3F%22g%22%3A%22%22%29%29%7Dfunction%20b%28r%29%7Bfor%28var%20p%3D0%3Bp%3Cr%2EchildNodes%2Elength%3Bp%2B%2B%29%7Bvar%20q%3Dr%2EchildNodes%5Bp%5D%3Bif%28q%2EnodeName%3D%3D%22CODE%22%29%7B [...]
+<style type="text/css">
+  pre:not([class]) {
+    background-color: white;
+  }
+</style>
+<script type="text/javascript">
+if (window.hljs && document.readyState && document.readyState === "complete") {
+   window.setTimeout(function() {
+      hljs.initHighlighting();
+   }, 0);
+}
+</script>
+
+
+
+
+</head>
+
+<body>
+
+<style type="text/css">
+.main-container {
+  max-width: 940px;
+  margin-left: auto;
+  margin-right: auto;
+}
+code {
+  color: inherit;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+img {
+  max-width:100%;
+  height: auto;
+}
+h1 {
+  font-size: 34px;
+}
+h1.title {
+  font-size: 38px;
+}
+h2 {
+  font-size: 30px;
+}
+h3 {
+  font-size: 24px;
+}
+h4 {
+  font-size: 18px;
+}
+h5 {
+  font-size: 16px;
+}
+h6 {
+  font-size: 12px;
+}
+.tabbed-pane {
+  padding-top: 12px;
+}
+button.code-folding-btn:focus {
+  outline: none;
+}
+</style>
+
+
+<div class="container-fluid main-container">
+
+<!-- tabsets -->
+<script src="data:application/x-javascript,%0A%0Awindow%2EbuildTabsets%20%3D%20function%28tocID%29%20%7B%0A%0A%20%20%2F%2F%20build%20a%20tabset%20from%20a%20section%20div%20with%20the%20%2Etabset%20class%0A%20%20function%20buildTabset%28tabset%29%20%7B%0A%0A%20%20%20%20%2F%2F%20check%20for%20fade%20and%20pills%20options%0A%20%20%20%20var%20fade%20%3D%20tabset%2EhasClass%28%22tabset%2Dfade%22%29%3B%0A%20%20%20%20var%20pills%20%3D%20tabset%2EhasClass%28%22tabset%2Dpills%22%29%3B%0A%20%20%2 [...]
+<script>
+$(document).ready(function () {
+  window.buildTabsets("TOC");
+});
+</script>
+
+<!-- code folding -->
+
+
+
+
+
+
+<div class="fluid-row" id="header">
+
+
+<h1 class="title">Fitcoach package workflow example</h1>
+<h4 class="author"><em>Niraj Juneja, Charles de Lassence</em></h4>
+
+</div>
+
+
+<div id="example-1-data-loader---getting-data-from-fitbit-api" class="section level2">
+<h2>Example 1: Data Loader - Getting data from Fitbit API</h2>
+<p>This part explains how to connect to the Fitbit API and get your data, using <code>DataLoader</code>.</p>
+<p><strong>Step 1:</strong> You first need to make sure that you have <a href="https://dev.fitbit.com/">registered an app</a> and set it as <em>Personal</em> in order to retrieve intraday data. You will need the following credentials in order to connect the API: App name (or <em>OAuth 2.0 Client ID</em>), Client Key and Client Secret.</p>
+<p><strong>Step 2:</strong> We initialize a new <code>DataLoader</code> object, and connect to the API with OAuth2, using the credentials described above. Note that instead of providing the credentials directly as parameters, you could point to a cache file (usually named <code>.httr-oauth</code>) using the <code>cache.file</code> parameter.</p>
+<pre class="r"><code>mydata <- DataLoader$new()
+mydata$connect(appname = "cdlr",
+               key = "227FWR",
+               secret = "3089e3d1ac5dde1aa00b54a0c8661f42"
+)</code></pre>
+<p><strong>Step 3:</strong> We request the data and write it to JSON files using the <code>request</code> method. You need to specify the type of timeseries (‘day’ or ‘intraday’), the list of activities (<a href="https://dev.fitbit.com/docs/activity/">full list here</a>), the start and end dates, and the folder in which the JSON files will be written.</p>
+<pre class="r"><code>masterPath <- system.file("extdata", 
+                          "daily-time-series", 
+                          package = "fitcoach")
+
+mydata$request(
+    type = 'day', 
+    activities = list("calories", "steps", "distance", "minutesVeryActive"), 
+    start.date = "2016-01-01", 
+    end.date = "2016-02-01", 
+    path = masterPath
+)</code></pre>
+<p>Once the JSON files have been created, they can be used for further analysis.</p>
+</div>
+<div id="example-2-fit-analyzer---daily-file-analysis" class="section level2">
+<h2>Example 2: Fit Analyzer - Daily File Analysis</h2>
+<p>Examples below demonstrate usage scenarios for <code>FitAnalyzer</code>.</p>
+<p><strong>Step 1:</strong> We first need to point to a folder that contains the JSON files for “daily” file analysis. These files are created by <code>DataLoader.R</code>.</p>
+<p>We then create a new instance of <code>FitAnalyzer</code>, passing in the folder and the goal that we want to optimize on. Goals can be the following: a) calories b) steps c) distance d) floors.</p>
+<p>The example below uses <code>steps</code> as the goal.</p>
+<pre class="r"><code>masterPath <- system.file("extdata", 
+                          "daily-time-series", 
+                          package = "fitcoach")
+
+ana <- FitAnalyzer$new("steps")</code></pre>
+<p><strong>Step 2:</strong> Next we get the data.frame ready for analysis. Note this data.frame is cleaned and augmented with additional data elements not present in the JSON file. E.g.: we augment <code>weekday</code>, <code>weekend</code> and mark rows that are valid.</p>
+<pre class="r"><code>timeseries.frame <- 
+    ana$getAnalysisFrame(folder = masterPath, 
+                         analysis.type = "daily")
+head(timeseries.frame)</code></pre>
+<pre><code>##           date calories caloriesBMR steps distance floors elevation
+## 898 2015-07-31     1867        1759   195  0.14062      0         0
+## 899 2015-08-01     3245        1758 12866 10.44119     13        39
+## 900 2015-08-02     2867        1758  5023  3.65184     11        33
+## 901 2015-08-03     2982        1758 10112  7.35157      6        18
+## 902 2015-08-04     2734        1758  5725  4.16213      7        21
+## 903 2015-08-05     3012        1758  9155  6.72913      5        15
+##     minutesSedentary minutesLightlyActive minutesFairlyActive
+## 898              205                   10                   0
+## 899              672                  269                   5
+## 900              691                  168                  25
+## 901             1161                  143                   5
+## 902              836                  150                  18
+## 903              640                  267                  16
+##     minutesVeryActive activityCalories valid   weekday weekend
+## 898                 0               51  TRUE    Friday   FALSE
+## 899                37             1600  TRUE  Saturday    TRUE
+## 900                35             1196  TRUE    Sunday    TRUE
+## 901                66             1253  TRUE    Monday   FALSE
+## 902                23              961  TRUE   Tuesday   FALSE
+## 903                16             1372  TRUE Wednesday   FALSE</code></pre>
+<p><strong>Step 3:</strong> next we find the most important variables that are enabling meeting the goals for the person. Note this call creates a <code>glm</code> model behind the scenes and ranks the variables based on the coefficients of the glm model. You can also get the <code>glm</code> fit object to do further analysis.</p>
+<pre class="r"><code>vars <- ana$findImportantVariables(tsDataFrame = timeseries.frame, 
+                                   seed = 12345)
+vars</code></pre>
+<pre><code>##      Overall                 name
+## 1 83.7286565             distance
+## 2  3.4383872 minutesLightlyActive
+## 3  1.8757480               floors
+## 4  1.8523923            elevation
+## 5  1.2891208  minutesFairlyActive
+## 6  1.1386025     minutesSedentary
+## 7  1.1244243    minutesVeryActive
+## 8  0.2122723              holiday</code></pre>
+<p>Getting the <code>fit</code> object.</p>
+<pre class="r"><code>fit <- ana$getFit()
+summary(fit)</code></pre>
+<pre><code>## 
+## Call:
+## glm(formula = y ~ ., family = "gaussian", data = x)
+## 
+## Deviance Residuals: 
+##      Min        1Q    Median        3Q       Max  
+## -1192.03    -17.96     12.12     54.98    264.72  
+## 
+## Coefficients:
+##                        Estimate Std. Error t value Pr(>|t|)    
+## (Intercept)           -83.72528   62.25542  -1.345 0.180342    
+## distance             1323.59328   15.80813  83.729  < 2e-16 ***
+## floors               -472.34421  251.81645  -1.876 0.062291 .  
+## elevation             153.87808   83.06992   1.852 0.065589 .  
+## minutesSedentary        0.05395    0.04738   1.139 0.256365    
+## minutesLightlyActive    1.30032    0.37818   3.438 0.000725 ***
+## minutesFairlyActive     1.70467    1.32235   1.289 0.198992    
+## minutesVeryActive       1.66153    1.47767   1.124 0.262314    
+## holiday                 5.05059   23.79298   0.212 0.832132    
+## ---
+## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
+## 
+## (Dispersion parameter for gaussian family taken to be 18358.87)
+## 
+##     Null deviance: 1752078977  on 190  degrees of freedom
+## Residual deviance:    3341314  on 182  degrees of freedom
+## AIC: 2428
+## 
+## Number of Fisher Scoring iterations: 2</code></pre>
+<pre class="r"><code>par(mfrow=c(2,2))
+plot(fit)</code></pre>
+<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAMAAADDuCPrAAABGlBMVEUAAAAAABcAACEAACgAADoAAFgAAGYAMZAAOioAOjoAOmYAOpAAZmYAZrYgAAA6AAA6KAA6Ojo6ZmY6kJA6kLY6kNs6nf9YZjpmAABmAGZmFwBmOgBmZgBmZmZmkJBmnZBmtrZmtv9m2/982/9/f3+B//+QAACQOgCQWACQZgCQkDqQkGaQkNuQtpCQ29uQ2/+c//+2AAC2ZgC2Zma2tma2tra225C2/7a2/9u2//++vr7bAADbZhfbkCrbkDrbtmbb/7bb/9vb////AAD/ADr/AGb/DQD/OgD/Ojr/OpD/Sbb/ZgD/Zrb/Ztv/kDr/kNv/nJD/nZD/tmb/trb/ttv/tv//25D/29v/2////5z//7b//7z//9v///+Ye1x4AAAACXBIWXMAAB2HAAAdh [...]
+<p><strong>Step 4:</strong> Next, we can then plot the performance of the individual, relative to the most important variables that are making a difference.</p>
+<pre class="r"><code>ana$showMostImportantCharts(tsDataFrame = timeseries.frame)</code></pre>
+<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAMAAADDuCPrAAABblBMVEUAAAAAADoAAGYAOmYAOpAAZpAAZrYAv8QZGT8ZGWIZP4EZYp8ZcboaGhozMzM6AAA6ADo6OgA6Ojo6ZmY6kJA6kNs/GRk/gb1Il91NTU1NTW5NTY5Nbm5NbqtNjshiGRliP4Fin9lmAABmOgBmZgBmZjpmZmZmkJBmtrZmtttmtv9uTU1ubk1ubm5uq+RxGRl8rgCBPxmBvdmOTU2Ojk2Ojm6Ojo6Oq6uOyMiOyP+QOgCQkGaQtpCQ29uQ2/+fYhmfn9mf2dmk3t+rbk2rjk2rq46r5Mir5P+y7O22ZgC2kDq2/7a2/9u2//+6cRm9gT+92dnHfP/Ijk3Iq27I5KvI/8jI///J2aTX57LZn2LZvYHZ2Z/Z2b3Z2dnbkDrbtmbb25Db/7bb/9vb///gy [...]
+<p><strong>Step 5:</strong> We can also get the prediction on goal performance using the call below.</p>
+<pre class="r"><code>rows.test <- timeseries.frame[sample(1:191, 1), ]
+x <- createDependentVariableFrame(master = rows.test, goal = "steps")
+res <- ana$predictGoal(x)
+cat(paste("Prediction for the day", ": expected steps = ", round(res)))</code></pre>
+<pre><code>## Prediction for the day : expected steps =  7481</code></pre>
+<hr />
+</div>
+<div id="example-3-fitanalyzer---intraday-file-analysis" class="section level2">
+<h2>Example 3: FitAnalyzer - Intraday File Analysis</h2>
+<p>Examples below demonstrate usage scenarios for <code>FitAnalyzer</code> for <strong>Intraday analysis</strong>.</p>
+<p><strong>Step 1</strong>: We first need to point to a folder that contains the JSON files for <em>intraday</em> file analysis. These files are created by <code>DataLoader.R</code>.</p>
+<p>We then create a new instance of <code>FitAnalyzer</code> passing in the folder and the goal that we want to optimize on. Goals can be the following: a) calories b) steps c) distance d) floors .</p>
+<p>The example below uses <em>calories</em> as the goal</p>
+<pre class="r"><code>masterPath <-
+    system.file("extdata", "intra-daily-timeseries", package = "fitcoach")
+ana <- FitAnalyzer$new("calories")</code></pre>
+<p><strong>Step 2:</strong> Next we get the data.frame ready for analysis. Note that this data.frame is cleaned and augmented with additional data elements not present in the JSON file. E.g.: we augment cumulative sum during the day, weekday, weekend, etc.</p>
+<pre class="r"><code>intra <- ana$getAnalysisFrame(folder = masterPath, analysis.type = "intra.day")
+head(intra)</code></pre>
+<pre><code>##         date calories intra.level intra.mets intra.calorie timeseq steps
+## 1 2015-12-10     2491           0        150       18.5565       1  5319
+## 2 2015-12-10     2491           0        150       18.5565       2  5319
+## 3 2015-12-10     2491           0        150       18.5565       3  5319
+## 4 2015-12-10     2491           0        150       18.5565       4  5319
+## 5 2015-12-10     2491           0        150       18.5565       5  5319
+## 6 2015-12-10     2491           0        150       18.5565       6  5319
+##   intra.steps floors intra.floors elevation intra.elevation distance
+## 1           0      6            0        18               0  3.89512
+## 2           0      6            0        18               0  3.89512
+## 3           0      6            0        18               0  3.89512
+## 4           0      6            0        18               0  3.89512
+## 5           0      6            0        18               0  3.89512
+## 6           0      6            0        18               0  3.89512
+##   intra.distance weekday weekend  slot cumsum.calorie cumsum.steps
+## 1              0       5       0 night        18.5565            0
+## 2              0       5       0 night        37.1130            0
+## 3              0       5       0 night        55.6695            0
+## 4              0       5       0 night        74.2260            0
+## 5              0       5       0 night        92.7825            0
+## 6              0       5       0 night       111.3390            0
+##   cumsum.level cumsum.mets cumsum.distance cumsum.floors cumsum.elevation
+## 1            0         150               0             0                0
+## 2            0         300               0             0                0
+## 3            0         450               0             0                0
+## 4            0         600               0             0                0
+## 5            0         750               0             0                0
+## 6            0         900               0             0                0</code></pre>
+<p><strong>Step 3:</strong> Next we find the most important variables that are enabling meeting the goals for the person. Note: this call creates a <strong>gbm</strong> model behind the scenes and ranks the variables based on <em>relative.influence</em> call to <code>gbm</code> model. You can also get the <code>gbm</code> fit object to do further analysis.</p>
+<pre class="r"><code>vars <- ana$findImportantVariables(intra)
+vars <- sort(vars, decreasing = TRUE)
+vars</code></pre>
+<pre><code>##            steps          weekend         distance           floors 
+##     1.000000e+00     4.850034e-02     4.112410e-02     2.081519e-02 
+##          weekday     cumsum.level    cumsum.floors          timeseq 
+##     9.944454e-03     2.865114e-05     8.797090e-08     8.763791e-08 
+##     cumsum.steps  cumsum.distance   cumsum.calorie cumsum.elevation 
+##     4.113028e-08     1.453128e-08     1.427501e-08     7.307049e-09 
+##    intra.calorie      intra.steps     intra.floors       intra.mets 
+##     6.349336e-09     9.373329e-10     3.419370e-10     2.913440e-10 
+##   intra.distance             slot      intra.level        elevation 
+##     8.783386e-11     6.107080e-11     0.000000e+00     0.000000e+00 
+##  intra.elevation      cumsum.mets 
+##     0.000000e+00     0.000000e+00</code></pre>
+<p>Plot of important variables below.</p>
+<pre class="r"><code>vars.frame <- data.frame(variables = names(vars), values = vars)
+vars.frame$lnvalue <- log(vars.frame$values)
+vars.frame <- vars.frame[1:7, ]
+barplot(vars.frame$value, xlab = "variables", ylab = "relative importance", 
+        names.arg = vars.frame$variables,
+        cex.names = 0.65, cex.lab = 0.65, ylim = c(0.0, 0.1))</code></pre>
+<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAMAAADDuCPrAAAAgVBMVEUAAAAAADoAAGYAOmYAOpAAZpAAZrY6AAA6OgA6ZmY6kNtmAABmADpmOgBmZgBmZmZmkJBmtrZmtttmtv+QOgCQkDqQkGaQkLaQtpCQ27aQ29uQ2/+2ZgC2Zma225C2/7a2/9u2//++vr7bkDrbtmbb////tmb/25D//7b//9v///8iS1UuAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAgAElEQVR4nO3dDXviWLYeUFyp2BOczE1i3+RmiptJhxR2+f//wCAJjDAfRscctLW91vPMtNvtwm+js9+WkBCztwxms/87ntls7H99YBw5hl+BAiPIMfwKFBhBjuFXoMAIcgy/AgVGkGP4FSgwghzDr0CBEeQYfgUKjCDH8CtQYAQ5hl+BAiPIMfwKFBhBjuFXo [...]
+<p>Summary of GBM model fit below.</p>
+<pre class="r"><code>fit <- ana$getFit()
+summary(fit)</code></pre>
+<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAMAAADDuCPrAAAAZlBMVEUAAAAAADoAAGYAAP8ADP8AGP8AJP8AMf8AOpAAZrY6AAA6kLY6kNtmAABmAGZmZjpmtrZmtv+QOgCQkDqQkNuQtpCQ2/+2ZgC225C2///bkDrb/9vb////tmb/25D//7b//9v///95O1D5AAAACXBIWXMAAB2HAAAdhwGP5fFlAAAgAElEQVR4nO3dbWPbRpuYUSTdtrFW7lZuN9yHDSXr///J4o0kSMmJeQMD3wOc80V24sAcJb4CYAaD5h2AkOZXfwCAWgkoQJCAAgQJKECQgAIECShAkIACBAkoQJCAAgQJKECQgAIECShAkIACBAkoQJCAAgQJKECQgAIECShAkIACBAkoQJCAAgQJKECQgAIECShAkIACBAkoQJCAAgQJKECQgAIECShAkIACB [...]
+<pre><code>##                               var      rel.inf
+## steps                       steps 8.925280e+01
+## weekend                   weekend 4.328791e+00
+## distance                 distance 3.670441e+00
+## floors                     floors 1.857814e+00
+## weekday                   weekday 8.875704e-01
+## cumsum.level         cumsum.level 2.557195e-03
+## cumsum.floors       cumsum.floors 7.851649e-06
+## timeseq                   timeseq 7.821929e-06
+## cumsum.steps         cumsum.steps 3.670992e-06
+## cumsum.distance   cumsum.distance 1.296958e-06
+## cumsum.calorie     cumsum.calorie 1.274084e-06
+## cumsum.elevation cumsum.elevation 6.521746e-07
+## intra.calorie       intra.calorie 5.666960e-07
+## intra.steps           intra.steps 8.365959e-08
+## intra.floors         intra.floors 3.051884e-08
+## intra.mets             intra.mets 2.600326e-08
+## intra.distance     intra.distance 7.839418e-09
+## slot                         slot 5.450740e-09
+## intra.level           intra.level 0.000000e+00
+## elevation               elevation 0.000000e+00
+## intra.elevation   intra.elevation 0.000000e+00
+## cumsum.mets           cumsum.mets 0.000000e+00</code></pre>
+<p><strong>Step 4:</strong> Next we can then plot the performance of the individual relative to the most important variables that are making a difference. For the 4 most important variables, the average value for every 15 min of a day is plotted, along with the moving average (using <code>geom_smooth</code> from <code>ggplot2</code>).</p>
+<pre class="r"><code>ana$showMostImportantCharts(tsDataFrame = intra)</code></pre>
+<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAMAAADDuCPrAAAB/lBMVEUAAAAAADoAAGYAOjoAOmYAOpAAZpAAZrYAvckAv70Av8QFsbURvLAZGT8ZGWIZP4EZYp8ZuLsaGhozMzM6AAA6ADo6OgA6Ojo6ZmY6kJA6kNs/GRk/gb1NTU1NTW5NTY5NbqtNjshiGRliP4Fin9lmAABmOgBmZgBmZjpmZmZmkJBmtrZmtttmtv9uTU1uq+RvrhlvsA11oQV8rgB/1d5/1tGArQCBPxmBvdmHpxmJqAuJ4OmJ4dyN2duOTU2Oq6uOyP+P1MWQOgCQZgCQkDqQkGaQkLaQtpCQ27aQ29uQ2/+Yz9CZ5eea3s+fYhmf2dmj2turbk2r5P+sz5is0Yuzgf6zg/K2ZgC2kDq22qK225C23Ja2/7a2/9u2//+4deq8zn+9gT+92dm/043Dg [...]
+<p><strong>Step 5:</strong> We can also get the prediction on goal performance using the call below.</p>
+<pre class="r"><code>rows.test <- intra[sample(1:191, 1), ] # Take any random input for test
+res <- ana$predictGoal(rows.test)
+cat(paste("Prediction for the day", ": expected calories =", round(res)))</code></pre>
+<pre><code>## Prediction for the day : expected calories = 2517</code></pre>
+</div>
+<div id="example-4-fitutil---illustration-for-usage-of-fitutil-functions" class="section level2">
+<h2>Example 4: FitUtil - Illustration for usage of FitUtil functions</h2>
+<p>Approach to get a clean data.frame from JSON files.</p>
+<pre class="r"><code># masterPath is the folder containing JSON files
+masterPath <- system.file("extdata", "daily-time-series", package = "fitcoach")
+
+# Create the data.frame. This is not cleaned
+master <- createTsMasterFrame(masterPath)
+
+# Identify and Mark rows that are valid. i.e distance for the day >0
+master <- markValidRows(master)
+
+# Filter Valid rows only
+master <- master[master$valid == TRUE, ]
+
+# Augment data with additional information. Eg: weekday information
+master <- augmentData(master)
+head(master)</code></pre>
+<pre><code>##           date calories caloriesBMR steps distance floors elevation
+## 898 2015-07-31     1867        1759   195  0.14062      0         0
+## 899 2015-08-01     3245        1758 12866 10.44119     13        39
+## 900 2015-08-02     2867        1758  5023  3.65184     11        33
+## 901 2015-08-03     2982        1758 10112  7.35157      6        18
+## 902 2015-08-04     2734        1758  5725  4.16213      7        21
+## 903 2015-08-05     3012        1758  9155  6.72913      5        15
+##     minutesSedentary minutesLightlyActive minutesFairlyActive
+## 898              205                   10                   0
+## 899              672                  269                   5
+## 900              691                  168                  25
+## 901             1161                  143                   5
+## 902              836                  150                  18
+## 903              640                  267                  16
+##     minutesVeryActive activityCalories valid   weekday weekend
+## 898                 0               51  TRUE    Friday   FALSE
+## 899                37             1600  TRUE  Saturday    TRUE
+## 900                35             1196  TRUE    Sunday    TRUE
+## 901                66             1253  TRUE    Monday   FALSE
+## 902                23              961  TRUE   Tuesday   FALSE
+## 903                16             1372  TRUE Wednesday   FALSE</code></pre>
+</div>
+
+
+
+
+</div>
+
+<script>
+
+// add bootstrap table styles to pandoc tables
+$(document).ready(function () {
+  $('tr.header').parent('thead').parent('table').addClass('table table-condensed');
+});
+
+</script>
+
+<!-- dynamically load mathjax for compatibility with self-contained -->
+<script>
+  (function () {
+    var script = document.createElement("script");
+    script.type = "text/javascript";
+    script.src  = "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
+    document.getElementsByTagName("head")[0].appendChild(script);
+  })();
+</script>
+
+</body>
+</html>
diff --git a/vignettes/summary.Rmd b/vignettes/summary.Rmd
new file mode 100644
index 0000000..8cc17d3
--- /dev/null
+++ b/vignettes/summary.Rmd
@@ -0,0 +1,37 @@
+---
+title: "Project Summary"
+author: "Niraj Juneja, Charles de Lassence"
+output: rmarkdown::html_document
+vignette: >
+  %\VignetteIndexEntry{Vignette Title}
+  %\VignetteEngine{knitr::rmarkdown}
+  \usepackage[utf8]{inputenc}
+---
+
+```{r setup, include=FALSE}
+knitr::opts_chunk$set(echo = TRUE)
+```
+
+## Fitcoach project summary
+
+We are glad to submit the fitcoach package. As part of the project we have been able to accomplish the following:
+
+1. Connect R to Fitbit API and expose an individual’s Fitbit data as a Dataframe for further analysis.
+    + DataLoader.R does this. __[Example 1 shows how to do this](examples\fitcoach-usage.html)__
+    + DataLoader enables getting both the *Daily time-series* data and *Intra-day time-series* data at 15 min breaks for the individual. 
+    + Note : intra-day data will require the user to create a new app on Fitbit website and is only available for app owner. i.e User A cannot access Intra-day data from User B. This is a Fitbit restriction
+
+2. Created [FitAnalyzer R6](..\R\FitAnalyzer.R) class that provides an __opinionated__ but focussed implementation for analyzing Fitbit Data. It is likely that this workflow might not work for all. In this situation, the user can directly use Fitbit functions provided in [FitUtil.R](..\R\FitUtil.R)  and create a customized analysis flow. 
+
+3. In line with the project proposal, we were able to build the following.
+  + Ability to set goals and find the most significant variables that are enabling meeting the goals. The [Example 2 and Example 3 here](examples\fitcoach-usage.html) demonstrates this flow. 
+  + Ability to call a function and provide recommendations for the rest of the day. The [Example 2 and 3](examples\fitcoach-usage.html) demonstrate this flow. This is implemented for both daily and intra-day scenarios.
+  + Provide advanced charts in ggplot2. The [Example 2 and Example 3 here](examples\fitcoach-usage.html) demonstrate the graphs.
+  
+4. Package Design Philosophy
+  + DataLoader.R is an R6 class because it encapsulates a unique OAuth2.0 based flow for accessing Fitbit API. The goal of this class is to orchestrate the Fitbit connection flow and download __daily__ or __intraday__ json files into a folder so that the json files can be analyzed further.
+  + FitAnalyzer.R is an R6 class with a opinioned workflow for analysis. The class maintains state related to goal, analysis type among other things. It does not store the data.frame used for analysis to avoid memory issues. The user is expected to hold on to the data.frame
+  + FitUtil.R is a utility file that has functions for Fitbit analysis. 
+  + We are using [GLM](https://stat.ethz.ch/R-manual/R-devel/library/stats/html/glm.html) for daily file and [GBM](https://cran.r-project.org/web/packages/gbm/gbm.pdf) for intraday file analysis. intra-day file analysis has a lot more data points and hence GBM works well here.For daily file, we have 1 datapoint per day. Hence, we decided to use GLM because we do not expect a lot of data in this file.
+  
+__Please refer to the detailed [Example ](examples\fitcoach-usage.html) to understand the usage of the package__
diff --git a/vignettes/summary.html b/vignettes/summary.html
new file mode 100644
index 0000000..21228bf
--- /dev/null
+++ b/vignettes/summary.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+
+<meta charset="utf-8">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="pandoc" />
+
+<meta name="author" content="Niraj Juneja, Charles de Lassence" />
+
+<meta name="date" content="2016-03-12" />
+
+<title>Project Summary</title>
+
+<script src="data:application/x-javascript,%2F%2A%21%20jQuery%20v1%2E11%2E0%20%7C%20%28c%29%202005%2C%202014%20jQuery%20Foundation%2C%20Inc%2E%20%7C%20jquery%2Eorg%2Flicense%20%2A%2F%0A%21function%28a%2Cb%29%7B%22object%22%3D%3Dtypeof%20module%26%26%22object%22%3D%3Dtypeof%20module%2Eexports%3Fmodule%2Eexports%3Da%2Edocument%3Fb%28a%2C%210%29%3Afunction%28a%29%7Bif%28%21a%2Edocument%29throw%20new%20Error%28%22jQuery%20requires%20a%20window%20with%20a%20document%22%29%3Breturn%20b%28a%29% [...]
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<link href="data:text/css,%2F%2A%21%0A%20%2A%20Bootstrap%20v3%2E3%2E1%20%28http%3A%2F%2Fgetbootstrap%2Ecom%29%0A%20%2A%20Copyright%202011%2D2014%20Twitter%2C%20Inc%2E%0A%20%2A%20Licensed%20under%20MIT%20%28https%3A%2F%2Fgithub%2Ecom%2Ftwbs%2Fbootstrap%2Fblob%2Fmaster%2FLICENSE%29%0A%20%2A%2F%2F%2A%21%20normalize%2Ecss%20v3%2E0%2E2%20%7C%20MIT%20License%20%7C%20git%2Eio%2Fnormalize%20%2A%2Fhtml%7Bfont%2Dfamily%3Asans%2Dserif%3B%2Dwebkit%2Dtext%2Dsize%2Dadjust%3A100%25%3B%2Dms%2Dtext%2Dsiz [...]
+<script src="data:application/x-javascript,%2F%2A%21%0A%20%2A%20Bootstrap%20v3%2E3%2E1%20%28http%3A%2F%2Fgetbootstrap%2Ecom%29%0A%20%2A%20Copyright%202011%2D2014%20Twitter%2C%20Inc%2E%0A%20%2A%20Licensed%20under%20MIT%20%28https%3A%2F%2Fgithub%2Ecom%2Ftwbs%2Fbootstrap%2Fblob%2Fmaster%2FLICENSE%29%0A%20%2A%2F%0Aif%28%22undefined%22%3D%3Dtypeof%20jQuery%29throw%20new%20Error%28%22Bootstrap%27s%20JavaScript%20requires%20jQuery%22%29%3B%2Bfunction%28a%29%7Bvar%20b%3Da%2Efn%2Ejquery%2Esplit%2 [...]
+<script src="data:application/x-javascript,%2F%2A%2A%0A%2A%20%40preserve%20HTML5%20Shiv%203%2E7%2E2%20%7C%20%40afarkas%20%40jdalton%20%40jon%5Fneal%20%40rem%20%7C%20MIT%2FGPL2%20Licensed%0A%2A%2F%0A%2F%2F%20Only%20run%20this%20code%20in%20IE%208%0Aif%20%28%21%21window%2Enavigator%2EuserAgent%2Ematch%28%22MSIE%208%22%29%29%20%7B%0A%21function%28a%2Cb%29%7Bfunction%20c%28a%2Cb%29%7Bvar%20c%3Da%2EcreateElement%28%22p%22%29%2Cd%3Da%2EgetElementsByTagName%28%22head%22%29%5B0%5D%7C%7Ca%2Edocum [...]
+<script src="data:application/x-javascript,%2F%2A%21%20Respond%2Ejs%20v1%2E4%2E2%3A%20min%2Fmax%2Dwidth%20media%20query%20polyfill%20%2A%20Copyright%202013%20Scott%20Jehl%0A%20%2A%20Licensed%20under%20https%3A%2F%2Fgithub%2Ecom%2Fscottjehl%2FRespond%2Fblob%2Fmaster%2FLICENSE%2DMIT%0A%20%2A%20%20%2A%2F%0A%0Aif%20%28%21%21window%2Enavigator%2EuserAgent%2Ematch%28%22MSIE%208%22%29%29%20%7B%0A%21function%28a%29%7B%22use%20strict%22%3Ba%2EmatchMedia%3Da%2EmatchMedia%7C%7Cfunction%28a%29%7Bvar [...]
+
+<style type="text/css">code{white-space: pre;}</style>
+<link href="data:text/css,pre%20%2Eoperator%2C%0Apre%20%2Eparen%20%7B%0A%20color%3A%20rgb%28104%2C%20118%2C%20135%29%0A%7D%0A%0Apre%20%2Eliteral%20%7B%0A%20color%3A%20%23990073%0A%7D%0A%0Apre%20%2Enumber%20%7B%0A%20color%3A%20%23099%3B%0A%7D%0A%0Apre%20%2Ecomment%20%7B%0A%20color%3A%20%23998%3B%0A%20font%2Dstyle%3A%20italic%0A%7D%0A%0Apre%20%2Ekeyword%20%7B%0A%20color%3A%20%23900%3B%0A%20font%2Dweight%3A%20bold%0A%7D%0A%0Apre%20%2Eidentifier%20%7B%0A%20color%3A%20rgb%280%2C%200%2C%200%29 [...]
+<script src="data:application/x-javascript,%0Avar%20hljs%3Dnew%20function%28%29%7Bfunction%20m%28p%29%7Breturn%20p%2Ereplace%28%2F%26%2Fgm%2C%22%26amp%3B%22%29%2Ereplace%28%2F%3C%2Fgm%2C%22%26lt%3B%22%29%7Dfunction%20f%28r%2Cq%2Cp%29%7Breturn%20RegExp%28q%2C%22m%22%2B%28r%2EcI%3F%22i%22%3A%22%22%29%2B%28p%3F%22g%22%3A%22%22%29%29%7Dfunction%20b%28r%29%7Bfor%28var%20p%3D0%3Bp%3Cr%2EchildNodes%2Elength%3Bp%2B%2B%29%7Bvar%20q%3Dr%2EchildNodes%5Bp%5D%3Bif%28q%2EnodeName%3D%3D%22CODE%22%29%7B [...]
+<style type="text/css">
+  pre:not([class]) {
+    background-color: white;
+  }
+</style>
+<script type="text/javascript">
+if (window.hljs && document.readyState && document.readyState === "complete") {
+   window.setTimeout(function() {
+      hljs.initHighlighting();
+   }, 0);
+}
+</script>
+
+
+
+</head>
+
+<body>
+
+<style type="text/css">
+.main-container {
+  max-width: 940px;
+  margin-left: auto;
+  margin-right: auto;
+}
+code {
+  color: inherit;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+img { 
+  max-width:100%; 
+  height: auto; 
+}
+</style>
+<div class="container-fluid main-container">
+
+
+<div id="header">
+<h1 class="title">Project Summary</h1>
+<h4 class="author"><em>Niraj Juneja, Charles de Lassence</em></h4>
+<h4 class="date"><em>March 12, 2016</em></h4>
+</div>
+
+
+<div id="fitcoach-project-summary" class="section level2">
+<h2>Fitcoach project summary</h2>
+<p>We are glad to submit the fitcoach package. As part of the project we have been able to accompalish the following</p>
+<ol style="list-style-type: decimal">
+<li>Connect R to fitbit API and expose an individual’s fitbit data as a Dataframe for further analysis.
+<ul>
+<li>DataLoader.R does this. <strong><a href="examples\fitcoach-usage.html">Example 1 shows how to do this</a></strong></li>
+<li>DataLoader enables getting both the <em>Daily time-series</em> data and <em>Intra-day time-series</em> data at 15 min breaks for the individual.</li>
+<li>Note : intra-day data will require the user to create a new app on fitbit website and is only available for app owner. i.e User A cannot access Intra-day data from User B. This is a fitbit restriction</li>
+</ul></li>
+<li><p>Created <a href="..\R\FitAnalyzer.R">FitAnalyzer R6</a> class that provides an <strong>opinionated</strong> but focussed implementation for analyzing Fitbit Data. It is likely that this workflow might not work for all. In this situation, the user can directly use fitbit functions provided in <a href="..\R\FitUtil.R">FitUtil.R</a> and create a customized analysis flow.</p></li>
+<li>In line with the project proposal we were able to build the following.</li>
+</ol>
+<ul>
+<li>Ability to set goals and find the most significant variables that are enabling meeting the goals. The <a href="examples\fitcoach-usage.html">Example 2 and Example 3 here</a> demonstrates this flow.</li>
+<li>Ability to call a function and provide recommendations for the rest of the day. The <a href="examples\fitcoach-usage.html">Example 2 and 3</a> demonstrates this flow. This is implemented for both daily and intra-day scenarios.</li>
+<li>Provide advanced charts in ggplot2. The <a href="examples\fitcoach-usage.html">Example 2 and Example 3 here</a> demonstrates the graphs.</li>
+</ul>
+<ol start="4" style="list-style-type: decimal">
+<li>Package Design Philosophy</li>
+</ol>
+<ul>
+<li>DataLoader.R is an R6 class because it encaptulates a unique oauth2.0 based flow for accessing fitbit api. The goal of this class is to orchestrate the fitbit connection flow and download <strong>daily</strong> or <strong>intraday</strong> json files into a folder so that the json files can be analyzed further.</li>
+<li>FitAnalyzer.R is an R6 class with a opinioned workflow for analysis. The class maintains state related to goal, analysis type among other things. It does not store the data.frame used for analysis to avoid memory issues. The user is expected to hold on to the data.frame</li>
+<li>FitUtil.R is a utility file that has functions for fitbit analysis.</li>
+<li>We are using <a href="https://stat.ethz.ch/R-manual/R-devel/library/stats/html/glm.html">GLM</a> for daily file and <a href="https://cran.r-project.org/web/packages/gbm/gbm.pdf">GBM</a> for intraday file analysis. intra-day file analysis has a lot more data points and hence GBM works well here.For daily file, we have 1 datapoint per day. Hence, we decided to use GLM because we do not expect a lot of data in this file.</li>
+</ul>
+<p><strong>Please refer to the detailed <a href="examples\fitcoach-usage.html">Example</a> to understand the usage of the package</strong></p>
+</div>
+
+
+</div>
+
+<script>
+
+// add bootstrap table styles to pandoc tables
+$(document).ready(function () {
+  $('tr.header').parent('thead').parent('table').addClass('table table-condensed');
+});
+
+</script>
+
+<!-- dynamically load mathjax for compatibility with self-contained -->
+<script>
+  (function () {
+    var script = document.createElement("script");
+    script.type = "text/javascript";
+    script.src  = "https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
+    document.getElementsByTagName("head")[0].appendChild(script);
+  })();
+</script>
+
+</body>
+</html>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/r-cran-fitcoach.git



More information about the debian-med-commit mailing list