Giter Club home page Giter Club logo

gym's People

Watchers

 avatar

gym's Issues

Create an `add workout` button, route and form to the Workout page

  • Add button to the workout page - opens workout form.
  • List previous workouts by date with a button to edit them.
  • Add a page with form

Form:

  • Date - prefill with today's date. Just a textbox for now. Will enhance with a separate task.
  • List all exercises as buttons. Will enhance with routines later.
  • On clicking an exercise - move to a top section with fields for weight/reps/sets and distance/time/sets depending on exercise settings.

Create secure login process

This is large task. Will split into smaller tasks later.

Server code

  • Install passport
  • Integrate with mongo
  • Install email packages for composing and sending emails
  • Sign up email with confirmation hash
  • Forgot password email

Client Side

  • Login / register links + routes and pages
  • Forgot password.
  • Cookie + hash for remembering logged in
  • Show username when logged in + logout.
  • User config section
    • Change email
    • Change password
    • Change name
    • Change measurement units

Add graphs for exercises

Tab for each set with main tab being an average.

Shows time weighted for:

  • If time/distance
    • time
    • distance
    • speed
  • If weight/reps
    • weight
    • reps

Viewable on :

  • Exercise page
  • Workout exercise section - small but clickable on.

Create a Routine section

A routine lets the user preset exercises int a routing and then working out they can select the routine to pre-populate the workout.

The workout will still allow the user to select additional exercises when working out... but the routine exercises will be highlighted and pushed to the top.

Create schema and models for date/sets

This is a date and a list of exercise Ids with a list of reps. Each rep is a embedded object of weight+quantity or distance+time.

{
  date
  exercises: [{
    exerciseId
    reps: [{
      weight,
      quantity
    }, {
      distance,
      time
    }]
  }]
}

Will require:

  • List
  • Add
  • Edit
  • Delete

Create `Workout` section

  • The user selects workout from the nav and can add a new workout or edit an existing one.

  • The user can enter a date for the workout
  • The user can select exercises to add to the workout
  • The user can create and edit sets for the workout
  • The user can edit the reps/weight or distance/time for each set

Units will be added as a user config later. Make everything unit-less for now unless self evident - i.e. time.

Create home page graph

Shows each workout on several time plots

  • Total sets
  • Total exercises
  • Total weighted weight - average of each weight exercise based on lowest - highest weight done to date and that workouts weight. Maybe weight totaled over all sets. (Need to play around with this!)
  • Total distance
  • Total distance / time

Add graphs

Add graphs to enhance user expereince

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.