I'd like to create an app similar to Barbell Pro for Android, for practice / interest / educational purposes really. Or even as another example for database purposes, Fitocracy
The problem is, I have no idea how the database could be designed… For example:
- We have a 1000 Persons using the app
- Each Person could have 1-7 individualised WorkoutRoutines, depending on the day. (Perhaps even more -> AM workouts / PM workouts)
- Each WorkoutRoutine has an individual set of Exercises, with some crossover e.g. someone could do Bench Press on Monday and on Friday afterall.
- Each Exercise has a number of Sets
- Each Set has a number of Reps
Now to me, this seems like it could potentially be a large amount of information to store for Each Person, and maybe pretty complicated to do so.
I only have some experience with relational databases and I don't know how I'd go about designing that in an efficient matter for a relational database.
I'm not asking for a design, just how I'd begin to go about it. The potential complexity is daunting for me due to lack of database experience.
Maybe it's not even that complicated, but like I say, ignorance from myself.
Best Answer
Here is a prototype database schema. It allows the creation of different exercise routines, assigns those routines to a person by date, and even has a place to log the exercises executed, and the number of reps.