Goal:
The overall goal of the project is to have a system that is able to integrate with Garmin watches and be able to read and sync data related to the distance (expressed in steps) tracked by the device at a daily basis for a specific period of time.
Requirements:
The solution will be a very simple NodeJS server with any frontend (Jade is also an option). The use case is: provide a set of controls or links required so that a user who has a Garmin watch can associate in some way its device and the NodeJS backend can list the daily values of steps for a period of time (i.e. 1 months to date). The output can be printed in the console, but the minimum requirement is that we must be able to get repetitive consistent data over a number of successive calls.
The backend technology is NodeJS . Any suitable or homegrown module can be used as long as we are able to integrate with Garmin devices (i.e. if OAuth is needed – it is ok to add requirement to an existing OAuth module implementation).
The identification should be user friendly – ie we must not ask the user to enter complex identification numbers, but try to find a way to work with the users existing Garmin accounts.
Workflow:
User visits site: -> sees Garmin link
à Magic integration (either a form for user/pass or page redirect)
à Authentication to Garmin services / association with client device
à User is being able to see his history of steps over the last month on daily basis (ie date-steps pairs for all the days)