An intelligent fitness companion that creates personalized exercise and nutrition plans powered by Gemini AI.
- Personalized Workout Plans: AI-generated exercise routines tailored to your fitness level, goals, and available equipment
- Custom Nutrition Guidance: Nutritional plans based on your dietary preferences and fitness objectives
- Exercise Visualization: Automatically generated images for each exercise to ensure proper form
- Interactive AI Chat: Communicate with the AI coach for questions, modifications, or motivation
- Progress Tracking: Monitor your fitness journey with detailed stats and achievements
- Frontend:Vue.js with responsive design
- Backend: Node.js/Express
- Database: MongoDB for user profiles, workout plans, and nutrition data
- AI Integration: Gemini API for generating personalized content
- API Architecture: RESTful API design for seamless client-server communication
- Image Generation: AI-powered exercise visualization
POST /auth/signup- Create new user accountPOST /auth/login- Authenticate userGET /profile/userId- Retrieve user profilePATCH /profile/userId- Update user information
GET /ai/userId/workout- Generate new workout planGET /ai/user/workout/:id- Retrieve specific workoutGET /ai/userId/nutrition- Generate nutrition planGET /ai/userId/nutrition/:id- Retrieve specific nutrition plan
POST /chat/userId- Start Chat with AIGET /chat/userId- Retrieve chat history
GET /exercises/userId- Get exercise visualization
This application utilizes the Gemini API to:
- Generate Personalized Workouts: The AI analyzes user fitness levels, goals, and constraints to create tailored exercise plans
- Create Nutrition Guidance: Based on user preferences and nutritional needs
- Visualize Exercises: Generate clear images demonstrating proper exercise form
- Power Conversational Support: Enable natural language interactions for fitness advice
- User authentication using JWT
- Password hashing with bcrypt
- Secure handling of Gemini API credentials
Contributions are welcome! Please feel free to submit a Pull Request.