Giter VIP home page Giter VIP logo

pathlete's Introduction

Pathlete

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.

pathlete's People

Contributors

samsep avatar khkyler avatar matthewpolland avatar jbobron avatar hackreactor-students avatar

Stargazers

 avatar

Watchers

James Cloos avatar Jackson Hoose 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.