Daniel Zhou, Kian Shandi, Lavender Hwang, Mark Mairs, Sebastian Mendez Johannessen
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.
- React.js
- React Router
- Tailwind CSS
- Node.js
- Express
- Google Gemini API
- Ninjas Exercises API
- MongoDB
- Mongoose
-
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.
- Clone this GitHub repository
git clone https://github.com/sebomaniac/cs35l-project.git
- In a Visual Studio Code terminal, change directory to the backend folder
cd cs35l-project/backend
- Install backend dependencies
npm install
- 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
- Run the backend
npm run dev
- In a new terminal window, change directory to the frontend folder
cd cs35l-project/frontend
- Install frontend dependencies
npm install
- Run the frontend
npm run dev
- Open the app in your browser
Cmd-Click --> http://localhost:5173/