Skip to content

sebomaniac/workoutbuddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

WorkoutBuddy

Table of Contents

Project Members

Daniel Zhou, Kian Shandi, Lavender Hwang, Mark Mairs, Sebastian Mendez Johannessen

Project Description

Workout Buddy is a full-stack web application that generates personalized workout plans tailored to a user’s fitness level, goals, and schedule. By leveraging an AI-powered backend assistant, Workout Buddy generates tailored weekly workout plans to help users train smarter and stay motivated.

Technology Stack

Frontend

  • React.js
  • React Router
  • Tailwind CSS

Backend

  • Node.js
  • Express
  • Google Gemini API
  • Ninjas Exercises API

Database

  • MongoDB
  • Mongoose

Special Features

  • AI-Powered Workout Generation: Users receive personalized 7-day workout plans generated by Google Gemini AI, taking into account their fitness goals, experience level, and preferences.

  • Detailed Exercise Database: Integration with the Ninjas Exercises API provides access to a comprehensive database of exercises, ensuring all generated workouts use effective exercises. Users can also search for these exercises separate from their workout plan.

  • Customizable Workout Parameters:

    • Multiple workout types (strength, cardio, plyometrics, stretching)
    • Target muscle groups
    • Difficulty level
    • Personal records and fitness metrics
    • Preferred weight units (lbs/kg)
  • Interactive Workout Plans:

    • Detailed exercise instructions
    • Sets, reps, and rest periods
    • Warm-up and cool-down routines
    • Day-specific notes and modifications
  • User Profile Management:

    • Secure authentication
    • Save and revisit generated workout plans
  • AI Chat Assistant: Users can ask questions about their workout plans and receive personalized advice from the AI assistant.

Setup Instructions

  1. Clone this GitHub repository
git clone https://github.com/sebomaniac/cs35l-project.git
  1. In a Visual Studio Code terminal, change directory to the backend folder
cd cs35l-project/backend
  1. Install backend dependencies
npm install
  1. Create a .env file in the backend directory with your API keys and MongoDB URI
# cs35l-project/backend/.env
GEMINI_API_KEY=your_gemini_key_here
NINJAS_API_KEY=your_ninjas_key_here
MONGODB_URI=your_mongodb_uri_here
  1. Run the backend
npm run dev
  1. In a new terminal window, change directory to the frontend folder
cd cs35l-project/frontend
  1. Install frontend dependencies
npm install
  1. Run the frontend
npm run dev
  1. Open the app in your browser
Cmd-Click --> http://localhost:5173/

About

WorkoutBuddy - Your AI-powered Personal Trainer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5