Gym Routine Builder

A table-based spreadsheet to calculate weight lifting routines

About this project:

Gym Routine Builder

This project is built to make picking and calculating a well rounded gym routine easier. The table is based off of the popular 5/3/1 lifting routine, and allows for three week lifting cycles to be planned with a variety of rep ranges, weight increases, and number of days per week. The site also allows for adding accessories to whatever day the user chooses along with linked information regarding each lift.

Technologies used:

JavaScript (jQuery): This project relies heavily on the jQuery JavaScript framework. The framework allows for very easy manipulation of class based elements and their related structures, which a good deal of this project revolved around. The table numbers were primarily calculated and scaled using vanilla JavaScript, however the input into the table, and nearly all user interactions with the page were developed with jQuery. The main features of the site are built in HTML5 and styled with CSS3.

Technical Talk:

Routine Tables

The two tables are just that, HTML tables with an id set into each cell. When the user fills out the rep-max input fields and the weight increase fields, and then runs the calculation function, the numbers are set to variables, pumped through a handful of calculations and assigned to the corresponding cell ID. This is pretty easy to see when looking at the JavaScript in either the Github dump or on JS Bin.

The accessory cells are straight forward as well. When a cell is clicked, it's lit up blue as a class is assigned. Then when the user hits an add accessory button it merely adds it to the cell with the corresponding selected class tag. Removing the accessories consists of converting all of the HTML inside the selected tag into a string, removing the corresponding accessory's name from that string, and then setting it as the cell's internal HTML.

The ability to export the table into spreadsheet formats is coming soon.