Skip to content

sandeepsalwan1/FitTech

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FITTECH

Empowering Your Health Journey with AI Innovation

MIT License last-commit


🔗 Table of Contents


📍 Overview

FitTech revolutionizes personal fitness and nutrition management by integrating AI-driven coaching and event discovery into one seamless platform. Designed for health enthusiasts and individuals seeking tailored fitness guidance, FitTech offers personalized training plans, nutritional advice based on real-time image analysis, and access to relevant health events. This innovative solution ensures users stay engaged and informed on their wellness journey.


👾 Features

Feature Summary
⚙️ Architecture
  • Utilizes modern frameworks like <FastAPI> and <Flask> for backend development.
  • Employs <Streamlit> for interactive frontend applications.
  • Integrates with <OpenAI> for AI-driven functionalities.
  • Structured around microservices for modularity and scalability.
🔩 Code Quality
  • Adheres to Pythonic best practices for readability and maintainability.
  • Uses <pytest> for comprehensive testing and quality assurance.
  • Code modularization evident in separation of concerns within components.
  • Includes detailed inline comments and function annotations for clarity.
📄 Documentation
  • Documentation includes setup and installation instructions using <pip>.
  • Usage examples provided for primary functionalities.
  • Codebase includes comments and docstrings for better understanding.
  • Documentation is primarily in Python with additional markdown files.
🔌 Integrations
  • Integrates with various APIs including <OpenAI> for enhanced features.
  • Supports data visualization tools like <altair>.
  • Capable of handling complex data structures with <numpy> and <pandas>.
  • Web application capabilities enhanced with <FastAPI> and <Flask>.
🧩 Modularity
  • Codebase structured into distinct modules for different functionalities.
  • Uses Python packages to organize and isolate business logic.
  • Facilitates easy maintenance and scalability.
  • Each module can be developed, tested, and deployed independently.
🧪 Testing
  • Utilizes <pytest> for backend testing.
  • Includes tests for API endpoints and user flows.
  • Mocking and patching extensively used to isolate tests.
  • Continuous integration setup to run tests on code changes.
⚡️ Performance
  • Optimized for performance with asynchronous capabilities using <FastAPI>.
  • Efficient data handling and processing with <numpy> and <pandas>.
  • Performance considerations in image and data-intensive operations.
  • Uses caching mechanisms to enhance speed and reduce load times.
🛡️ Security
  • Implements security best practices in user authentication and data handling.
  • Uses HTTPS for secure communication.
  • Secure handling of API keys and sensitive data.
  • Regular updates to dependencies to mitigate vulnerabilities.

📁 Project Structure

└── FitTech/
    ├── logo.png
    ├── readme.md
    ├── requirements.txt
    └── sessions
        └── FirstTry

📂 Project Index

FITTECH/
__root__
requirements.txt - Manages and specifies the versions of libraries and dependencies required for the project, ensuring compatibility and preventing conflicts across the development environment
- It includes frameworks and tools like FastAPI, Flask, and numpy, which are essential for web development and data handling within the application.
sessions
FirstTry
app
Home.py - Home.py serves as the user authentication and initial interface module for the myfitnessagent application
- It integrates user login validation, initializes the OpenAI client with API keys, and manages session states
- Upon successful login, it presents options for selecting different fitness agents and includes a logout feature to manage user sessions effectively.
main.py - Main.py establishes a FastAPI application that integrates AI-driven conversational capabilities and event search functionalities
- It utilizes a ReAct Search Agent with memory and search tools for processing event-related queries, and sets a foundation for a future nutrition-related endpoint.
base_model_utils.py - Base_model_utils.py facilitates interaction with OpenAI's API using Streamlit, handling tasks such as sending chat and image model requests
- It processes user-uploaded images, extracts nutritional information, and updates nutrition plans accordingly, providing tailored feedback to users based on the analysis of the images.
prompts.py - `sessions/FirstTry/app/prompts.py` manages the interaction logic for a nutrition and fitness coaching application
- It guides the creation of personalized training and nutrition plans based on user goals, orchestrating the dialogue flow through structured prompts and responses, and ensures user engagement by maintaining clarity and focus in communication.
pages
3_Nutrition_Agent_[RAG].py - Manages the user interface for a nutrition-focused query system within a broader health and fitness application
- It facilitates user authentication, collects dietary preferences, and communicates with a backend service to fetch tailored meal options
- The page also incorporates branding elements like logos and titles to enhance user experience.
1_Event_Agent_[ReAct Search].py - Manages the user interface for a health event search feature within a larger health technology application
- It authenticates users, collects input on event preferences, and communicates with a backend service to retrieve and display relevant athletic event information based on user specifications.
2_Training_Agent_[CoT].py - Manages user interactions and data processing for a HealthTech application, facilitating real-time chat with a coach and image-based nutritional analysis
- It maintains session-specific chat and health tracking logs, dynamically updating training and nutrition plans based on user inputs and AI-generated advice.

🚀 Getting Started

☑️ Prerequisites

Before getting started with FitTech, ensure your runtime environment meets the following requirements:

  • Programming Language: Python
  • Package Manager: Pip

⚙️ Installation

Install FitTech using one of the following methods:

Build from source:

  1. Clone the FitTech repository:
❯ git clone https://github.com/sandeepsalwan1/FitTech
  1. Navigate to the project directory:
cd FitTech
  1. Install the project dependencies:

Using pip  

❯ pip install -r requirements.txt

🤖 Usage

Run FitTech using the following command: Using pip  

❯ python {entrypoint}

🧪 Testing

Run the test suite using the following command: Using pip  

❯ pytest

📌 Project Roadmap

  • Task 1: Implement login.
  • Task 2: Create more agents.
  • Task 3: More userfriendly interface with explanations.

🔰 Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/sandeepsalwan1/FitTech
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph


🎗 License

This project is released under the MIT License. For more details, please refer to the LICENSE file.


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages