We are a startup fitness company in Southern California who is looking to make our business go paperless. We are in the middle of building a web application that our trainers can use to input data(on an iPad) while working with the clients. Currently we have a login system, a custom Content Management System, a workoutplan system for the client, and a profile page.
To add a brand new page to the Content Management System. This page will administer the content to be used on the "workoutplan" system stated above. This page is a non-mobile page that only the trainers(admin) will have access to.
[url removed, login to view] page to represent a “WorkoutPlan” by Day.
a. 3 dropdownlist filters are used before user begins administration
[url removed, login to view] includes basic CRUD(create, read, update, delete) for one table. View(from select query) joined to 3 other tables
c. Administrator should also be able to update the “rank” of the records (using a jquery drag and drop). The system currently already does this on another admin page that will be used as reference: [url removed, login to view]
MYSQL [url removed, login to view]
PHP [url removed, login to view]
CodeIgniter PHP MVC framework
1.) I will provide as much database support as needed. We will use routines whenever a database connection is made. If you need to write your own query, send it to overlook. It will be analyzed, and turned into a routine.
Current workout plan.
Everyday this workout plan will change dynamically as the successive number of workouts as the user moves through Endurance, Strength, and Power phases.
Below is the table that this administration page will select, insert, and update from. You may use the MVC framework and inline sql(preferred send the CRUD query(s) to me to turn into a stored routine on MYSQL server):
CREATE TABLE `lu_WorkoutPlan` (
`idlu_WorkoutPlan` int(11) NOT NULL AUTO_INCREMENT,
`idlu_ExerciseType` int(11) NOT NULL,
`Order` tinyint(3) NOT NULL,
`idlu_ESP` int(11) NOT NULL,
`Day` tinyint(3) NOT NULL,
`idlu_FitnessLevel` tinyint(4) NOT NULL,
PRIMARY KEY (`idlu_WorkoutPlan`)
`idlu_ExerciseType` = The type of exercise(upper body, lower body, etc.). This will be displayed as a dropdown
`Order` = This is essentially the rank of this exercise. E.G. 3 = 3rd exercise for today’s workoutplan
`idlu_ESP` = ESP (endurance, strength, power). This will be displayed as a dropdown that comes from the primary key of the table lu_ESP.
`Day` = (between 1 and 12) there are 12 workouts per ESP level. This will be displayed as a dropdown.
`idlu_FitnessLevel` = The level of fitness the individual is currently in. e.g. corrective, fit, amateur, etc.. This will be displayed as a dropdown and comes from the primary key of the table idlu_FitnessLevel.
The Admin page will include the ability to administer exercises per fitness level, ESP,.and day.
This is similar to the exerciseMap page except the additional “day” filter.
After filtering and searching, the user will have the ability to see the workoutplan for that day, edit any workoutplan row, and insert a new workoutplan row.
The workoutplan will be in a gridview format ranked by the “order” column and displaying:
ExerciseType,ESP,Day,FitnessLevel,EDIT BUTTON (far right column). Order can be changed by clicking and dragging rows then selecting update ranks.(Jquery plugin)
If the Edit button is clicked a modal form should be given to the user to update. Only ExerciseType should be editable and will be displayed in a [url removed, login to view] other fields are readonly
Insert. Similar to the edit, an insert only involves one field chosen by the user: ExerciseType(dropdownlist). The rest of the fields are shown in readonly view:ESP,Day,FitnessLevel.
After all updates/inserts the grid should be re-bound. and success/fail displayed.