GithubHelp home page GithubHelp logo

imclab / nikeplus-to-runkeeper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aron/nikeplus-to-runkeeper

0.0 1.0 0.0 179 KB

Web application for importing Nike+ running data into RunKeeper

nikeplus-to-runkeeper's Introduction

Nike+ to RunKeeper Importer
===========================

A web interface for exporting your running data from Nike+ and then importing
into RunKeeper. This was built because existing tools providing this
functionality require you to input your email/password for a Nike+ account.

Due to the nature of the Nike API this app requires the same details, but
through building it on open software and the user running it on thier own
machine at least there is a little more transparency.

This should be considered a work in progress, it functions but is very
rough around the edges. Feedback is welcome though, just open a new issue
on this project or email me at [email protected].

Installation
------------

You will need to create a RunKeeper app in order to run the server. This can
be created at http://runkeeper.com/partner/applications, doing so will give
you an client ID and secret.

After cloning the repository into a local folder you will need to install the
dependancies using bundler. If you do not have bundler installed
`gem install bundler` will set you right.

    $ bundle

Configuration
-------------

    APP_SECRET: A random string used to encode the session keys.
    RUNKEEPER_CLIENT_ID: Your RunKeeper app id.
    RUNKEEPER_CLIENT_SECRET: You RunKeeper app secret.

Usage
-----

Start the app with the runkeeper settings and a secret token for the sessions,
this is done using environment variables (replace the tokens eg. `{client_id}`
with your own settings).

    $ APP_SECRET={some_random_string} \
    > RUNKEEPER_CLIENT_ID={client_id} \
    > RUNKEEPER_CLIENT_SECRET={client_secret} \
    > bundle exec rackup

Visit http://localhost:9292 in your browser and select login. You will then be
prompted to authorise the app with RunKeeper, then you will need to enter your
Nike+ details. This will present you with a list of past activities, select the
ones you want to import and submit the form.

Limitations
-----------

The Nike+ API does not provide any timing data for it's GPS co-ordinates so
currently each reading is assigned a timestamp based on a fraction of the total
run time. This is okay for most situations, but can lead to odd results when
a run has been paused and resumed.

Alternatives
------------

Some alternatives that I found while researching this project:

- https://mattstuehler.com/lab/NikePlus/
- http://nikeplusexporter.rhysmccaig.com
- http://jkili.wordpress.com/2012/08/17/nike-gpx-export/
- http://trailrunnerx.com
- https://gist.github.com/leah/5655437

TODO
----

- Allow Nike authorisation without email/password.
- Syncing of new runs via cron.
- Export of Nike data to .gpx format.

License
-------

Available under an MIT License

nikeplus-to-runkeeper's People

Contributors

aron avatar pfhayes avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.