Skip to main content

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.

Build Status

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

project_step_3-0.1.0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

project_step_3-0.1.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

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

Hashes for project_step_3-0.1.0.tar.gz
Algorithm Hash digest
SHA256 772e054fb5c82567603d516876b25d986addc20c531d8676a803a3461dcbb17a
MD5 9e648e0ebfe5b943f7a2475b97d7e286
BLAKE2b-256 6f6cbc12d954314d78372998d9bdf914d9b0066f620adbe3cb0886e85b4ac3ae

See more details on using hashes here.

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

Hashes for project_step_3-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1986e0b65f53c2dbaa10fd52aa8bdaa6788131bac166a9c3a20bd586d05afe38
MD5 f0cb03a639d7910080a43cc5642ef79d
BLAKE2b-256 63e3dbfe00a6c7c266432af13296bada080f384d2c4f3ceb2ea408cb0c1fc4aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page