Workout Generator Project Readme
Project Overview
Welcome to the Workout Generator project! This project aims to provide users with a platform to generate personalized workout routines and access a database of exercises. The project is divided into different phases, each adding new features and functionality to enhance the user experience. Below is an outline of the project's tech stack, phases, and objectives:
Tech Stack
- Backend: Python
- API Framework: Flask
- Frontend: HTML & JavaScript (Vue.js)
- Databases:
- MongoDB: Used for pre-planned workout templates and exercise lists.
- MySQL: Used as an alternative exercise database.
Phases
Phase 1
- Basic Website: Create a basic website that serves as the platform's foundation.
- WOD Generator: Implement a Workout of the Day (WOD) generator functionality using the MongoDB database.
- Host: Deploy the project locally or on a DNS server for testing.
Phase 1.1 (Optional)
- Web Support for Responsive View: Add responsive design support to ensure the website works well on various devices and screen sizes.
Phase 1.2 (Minor)
- WOD Generator (Muscle Groups): Enhance the WOD generator to allow workouts based on specific muscle groups.
Phase 1.3 (Minor)
- WOD Generator (Exercise Types): Expand the WOD generator to provide workouts based on exercise types (e.g., cardio, strength).
Phase 1.4 (Major)
- WOD Generator via Algorithm: Develop an algorithmic approach for generating custom workouts based on user preferences and goals.
Phase 2
- Exercise Database: Create a comprehensive exercise database that includes exercise details, muscle groups worked, and flags (GYM, WOD, SET REP, Time-Based).
- Gym Workout Algorithm: Develop an algorithm to create gym workouts that incorporate warm-up and cooldown exercises.
- Public Hosting and Advertising: Deploy the project publicly and consider monetization options through ads.
Phase 2.1 (Major)
- User Login: Implement user authentication and user accounts.
- Tracking: Add workout tracking functionality for users to monitor their progress.
- Exercise Difficulty Color-coding: Visualize exercise difficulty levels for users.
Phase 2.2 (Major)
- Alternative Exercise Database: Create a database for alternative exercises.
- Alternative Exercise Suggestions: Develop a feature to suggest alternative exercises based on difficulty and available equipment.
- Video Integration: Add links or embed YouTube videos for exercise demonstrations.
Promotion of Website
- Promote the website by showcasing full workout sessions on YouTube, generated by the website.
Phase 2.3 (Major)
- Workout Logger: Create a workout logger for users to record their exercise history and performance.
Phase 3.1
- Algorithm for Gym/CrossFit Routines: Develop an algorithm to create comprehensive gym and CrossFit workout routines.
Phase 3.2
- Algorithm for Gym + CrossFit Routines: Enhance the algorithm to combine gym and CrossFit elements for advanced workout routines.
Phase 4
- Login/Account Management: Expand the user account system to include features like profile management and preferences.
- Adaptive Workout Creator: Create an adaptive workout generator that adjusts workouts based on the user's progress and goals.
Phase X (Optional)
- Web Crawler: Implement a web crawler feature to gather data or information (optional).
Getting Started
Follow the instructions in each phase's documentation to set up and run that particular phase of the project. Detailed information and code examples will be provided in the respective phase folders.
Contributors
- Ankit Sinha
- [Contributor 1]
- [Contributor 2]
- [Contributor 3]
License
This project is licensed under the [License Name] - see the LICENSE.md file for details.
Acknowledgments
We would like to express our gratitude to the open-source community and the developers of the technologies and libraries used in this project. Your contributions have been invaluable in making this project possible.