Skip to content

ruben1/Pathlete

 
 

Repository files navigation

Pathlete

Issues: Stories in Ready Build Status: Build Status Code Coverage (Master): Coverage Status

Pathlete is a fun data visualization tool that will show trends in your movement and motivate you to achieve large goals through small steps. It will show you how far you've traveled across different distances to give you new perspectives of your progress.

Team

  • Product Owner: Karim Kyler
  • Scrum Master: Samin Sepasi
  • Development Team Members: Matt Polland, Jake Obron

Table of Contents

  1. Usage
  2. Requirements
  3. Development
    1. Installing Dependencies
    2. Overview
  4. Team
  5. Contributing

Usage

  1. Clone Repo
  2. Install Dependencies
  3. Rename example.env to .env
  4. Sign up for a fitbit dev account to obtain consumer key & consumer secret
  5. Update .env with consumer key and secret from your created fitbit dev account
  6. The repo currently uses our own Firebase link as the db. To create your own db, simply change the link in utils/db.js as you see fit to point to your own Firebase or other db.
  7. To run locally: From root directory, run node bin/www
  8. To run tests, run npm test from root directory

Requirements

Development

Installing Dependencies

From within the root directory:

sudo npm install -g bower
npm install
bower install

Overview

  1. Fitbit Data Access
  • utils/fitbit.js contains the logic for the oAuth process via the Fitbit API. It utilizes the Passport-Fitbit library to log in with the user's Fitbit account, and the getStats function fetches the user's activity data from the Fitbit Resource Access API using the Fitbit-Node module. The dbHelper.addUserStats function utilizes the utils/dbHelpers.js file to add the user's basic profile info to our db.
  1. Progress & Achievement Pages
  • The logic for the Achievements & Progress pages resides in the various public/controllers JS files. These controllers fetch a user's activity info using the factory in public/scripts/services.js. The factory makes various GET requests depending on the info required, and the GET request routes are handled by the routes/index.js file.
  • For example, a user's info is fetched starting from the factory's GET request, which routes to routes/index.js, and routes/index.js uses the getUserStats function from utils/dbHelpers.js to fetch the user's info from the db.

Roadmap

View the project roadmap here

Contributing

See CONTRIBUTING.md for contribution guidelines.

About

Your fitness journey one step at a time

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 81.3%
  • HTML 13.9%
  • CSS 2.7%
  • C++ 1.2%
  • Ruby 0.9%