BodyTrack server APIs
Overview
These are ideas about how to go about integrating Fluxtream and BodyTrack.
For documentation on the APIs which are currently supported between BodyTrack and Fluxtream see BodyTrack server APIs.
The BodyTrack server sources are currently hosted on a private repository https://create.repositoryhosting.com/account (requires account, talk to Anne if you need access).
Debugging Notes
A good place to put a breakpoint is in the index action in AppController.java. This will fire when a guest logs in.
CLI:
cd ~/projects
git clone git@github.com:fluxtream/fluxtream-cli.git fluxtream-cli
cd ~/projects/fluxtream-cli
mvn clean install
java -jar target/flx-jar-with-dependencies.jar http://localhost:8080 <your fluxtream username>
Look in ~/projects/fluxtream-cli/src/main/antlr3/com/fluxtream/cli/TParser.g for what the commands are
Example: btupload fitbit arwright
Ideas/Strategies
Anne Wright, 4/22/12
Current path:
- Converted bodytrack display in fluxtream-app from "Continuous view" to separate application
- Working on persistence, navigation history, and hash URLs in fluxtream-app
- Adding connectors for openpaths and bodymedia
Current items:
- [AW] Setting bodytrack server in connector to other than localhost:3000 isn't propagating properly. Fix hard coded paths in BodyTrackController.java
- [CK + EP] Work together on persistence, navigation history, and hash URLs in fluxtream-app
- [EP] Persist state of timeline widget.
Completed items:
Issues to consider:
- What does Candide need to learn from Eric?
- Name/branding
- From Candide's Evernote:
- Sync bodytrack's concept of a 'source' and fluxtream's 'connectors'
- Strategy for handlng the disconnect between fluxtream's timeline and bodytrack's timeline in terms of source code
- Understand what exactly people external to bodytrack/fluxtream expect from the "timeline component" and how can we externalize the existing code -> EP says: use require.js / how is it going to interact with the backend?
- do we keep rails stuff in the 'official' merged version of the software for OSCON / the next milestone? EP: reimplement proxied ajax calls natively in the 'fluxtream' part
- do we keep the base station, user importers, etc… in the 'official' merged version of the software? AW: Yes, should maintain support for upload API
- what about mymee? problem: not everyone can use it… AW: cultivate additional observation capture options, such as Paco, Tapforms, ohmage, etc.
- migrating fluxtream users…
- screencast video, design for the home page
- write a retro-calendar for next milestone and OSCON
- IntelliJ
- Get beefier replacement for EC2 test instance : Ask Thomas about Belgian hosting company
- HTTPS->Security audit->bodytrack rails app in same github repo with fluxtream-app
- Define milestones between now and OSCon
- Evaluate server tools: New relic?
- Evaluate continuous deployment strategy: Evaluate Live rebel? Cost? Open source discount?
- Issues to discuss with Ray
- Change "Load View"/"Save View" buttons to be dropdown? How do we support time only/channel only loads?
- Margins: fluxtream-app has big margins, bodytrack takes up full width, what do we standardize on?
- How do we navigate between log application (day view/week view) and bodytrack application?
- How to add share link on timeline
- Where should fluxtream.com be hosted: Candide is not happy with standing cloud
Future work:
Anne Wright, 3/25/12 - 4/21/12
Current path:
- We commented out weekly/monthly view types and kept continuous and daily.
- Eric learned enough from Candide about architecture of fluxtream-app to decide how best to slice and dice _timeline into fluxtream continuous mode
Anne documented BodyTrack server APIs for supporting login, tile fetch, views, etc.
- Candide added a BodyTrack connector
- Candide added bodytrack.properties file which maps between Fluxtream facets and BodyTrack device and channel names
- Candide plans to add a register page and make the layout pretty again
Candide fixed initial account creation
Current items:
- [AW] Setting bodytrack server in connector to other than localhost:3000 isn't propagating properly. Fix hard coded paths in BodyTrackController.java
- [CK] Figure out why certain fitbit fields are always 0: steps, MET, fairlyActiveMinutes, lightlyActiveMinutes, sedentaryActiveDistance, etc.
- [EP] Persist state of timeline widget.
Completed items:
Future work: