Skip to content

Web app demo for a strength training planning and workout tracking app

Notifications You must be signed in to change notification settings

leepavelich/toStrong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

.toStrong( )

A method that takes in an object and returns a stronger version of the object.

.toStrong() is a finals project for the Lighthouse Labs Web Development bootcamp, a collaboration between Lee Pavelich, Chris Hatcher, and John Chia. The goal was in two weeks to develop from the ground up a "minimum viable demo" of an app of our own design.

We came up with a workout planning and tracking app, where the user selects from a list of workout programs, selects their beginning weights, and then for each workout in the program toggles whether they completed or did not complete each exercise. The business logic then decides for each program individually what the subsequent weights to select are for all the subsequent workouts.

Demo

Home Page

Home Page

Sign Up

Signup

Program Page

Program

Current Program Progress

Current Program Progress

Program -> Workout Page

Program Progress to Workout page

Selecting a Workout

Selecting Workout Day

Completing a Workout

Completing a Workout

Workout Example A

Current Workout Example 1

Workout Example B

Current Workout Example 2

Exercise Library

Exercise Library

Example: Lying Triceps Extensions

Lying Triceps Extension demo

Exercise Search Function

Library Search Function

Using the app

  1. In PostgreSQL, create database tostrong;
  2. Run npm i in both /server and /client to install the relevant packages
  3. Run npm run seeding in /server to seed the database
  4. Run npm start in both /server and /client and React should automatically open a browser tab with the demo

Tech Stack

Front-end

Back-end

TODOs

  • Implement the logic for more programs than just the "Basic LP".
  • Add more exercises to the library.
  • Implement the Friends and Badges feature (current app has placeholders for the demo).
  • Fix user authentication; right now you need to do a GET request to the /auth/1 route of the server to generate a cookie to correctly do what's in the demo.
  • Refactor the database to be in first normal form.