A package for managing workouts, macros, and goals
Project description
Fitness and Nutrition Management System
Aamna Amer 74871567 Suneet D’Silva - 51059153
Create a tool for personal trainers to help their clients satisfy their personal fitness and nutrition goals.
Our program enables trainers to populate a database with key metrics about their clients, such as height, weight, age, and gender.
It will utilize various metrics to guide the client’s fitness and nutrition plan.
The client can set goals and timelines for achieving those goals
System Key Features:
- Personal Summary
- Calorie Calculator
- Resting Metabolic Rate
- Total Daily Energy Expenditure
- Macros
- Workout Schedule
Sub Package 1
Module 1 - Personal Summary
Contains the class PersonalSummary that collects and stores client details.
Its methods include:
collect_info(): Prompt user for data such as height, weight, age, gender, and name.
calculate_BMI(): Calculate client's Body Mass Index
display_ps(): Will display client information and BMI in a table for easy reading. Will always call method calculate_BMI() in case that hasn't been calculated already.
Module 2 - Energy Requirements
Contains the class EnergyRequirements that calculates key caloric information about the client needed for baseline. It will inherit the PersonalSummary class.
It's methods include:
calculate_RMR(): Calculates client's Resting Metabolic Rate, which is calories burned at rest.
activity_level: Determines the client's current activity level. This is needed to estimate average calories burned.
calculate_TDEE(): Calculates client's Total Daily Energy Expenditure, which takes into account a client's RMR and activity level. It is essentially their maintenance calories; no weight loss or weight gain.
Module 3 - Goals
Contains the class Goals which will determine what the client's new caloric intake should be given their goal of weight loss or weight gain and their timeline. It will inherit the EnergyRequirements class.
It's methods include:
goal(): Will ask user if their goal is weight loss or weight gain, how much weight differential, and the timeline
caloric_change(): Calculates caloric change needed for goal weight loss/gain. This is based off that 1 lb = 3500 calories. Formula used is caloric change = desired weight loss/gain (pounds) x 3500/ number of days
caloric_intake(): Calculate client's new caloric intake based on goals and maintenance calories. This will call caloric_change() first to avoid redundancy. Formula used is new caloric intake = maintenance calories - caloric change
Sub Package 2
Module 1 - Macros
Contains the class Macros, which calculates macronutrient requirements and creates personalized nutrition plans based on user goals.
It's methods include:
calculate_macro_requirements()
Ensures the caloric intake is populated and calculates the macronutrient requirements (proteins, carbs, and fats) based on the client's caloric intake.
Default distribution:
- 30% Protein
- 40% Carbs
- 30% Fats
customize_macro_distribution()
Allows the user to distribute macronutrients (proteins, carbs, and fats) across meals (e.g., breakfast, lunch, dinner, snacks). Ensures the distribution percentages are valid.
generate_nutrition_plan()
Generates a detailed nutrition plan based on the calculated macronutrient requirements and customized meal distributions. Displays calories and macronutrients for each meal.
Module 2 - Workout Schedule
Contains the class WorkoutSchedule, which helps users create, display, and customize workout schedules based on their preferences.
It's methods include:
generate_training_split()
Prompts the user to generate a workout schedule by specifying daily workout time, number of workout days per week, preferred time of day, and activity type.
display_workout_schedule()
Displays the workout schedule in an easy-to-read format, showing the planned activity, duration, and time of day for each day.
customize_workout_schedule()
Allows the user to customize their workout schedule by editing individual days, changing the activity, duration, and time of day. Ensures input is validated before saving updates.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file project_step_3-0.1.0.tar.gz.
File metadata
- Download URL: project_step_3-0.1.0.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
772e054fb5c82567603d516876b25d986addc20c531d8676a803a3461dcbb17a
|
|
| MD5 |
9e648e0ebfe5b943f7a2475b97d7e286
|
|
| BLAKE2b-256 |
6f6cbc12d954314d78372998d9bdf914d9b0066f620adbe3cb0886e85b4ac3ae
|
File details
Details for the file project_step_3-0.1.0-py3-none-any.whl.
File metadata
- Download URL: project_step_3-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1986e0b65f53c2dbaa10fd52aa8bdaa6788131bac166a9c3a20bd586d05afe38
|
|
| MD5 |
f0cb03a639d7910080a43cc5642ef79d
|
|
| BLAKE2b-256 |
63e3dbfe00a6c7c266432af13296bada080f384d2c4f3ceb2ea408cb0c1fc4aa
|