wikifit / src /DOCUMENTATION.md
PhanindraVarma's picture
Upload 24 files
db020d5 verified

WikiFit Project Documentation

Project Overview

WikiFit is a Streamlit-based web application that serves as a fitness and health resource repository. The application allows users to:

  • Search for fitness topics using real Wikipedia API data
  • View curated workout plans based on fitness goals
  • Find evidence-based remedies for fitness-related issues
  • Take a fitness quiz to test knowledge
  • Generate personalized workout plans
  • Access nutrition information and exercise comparisons

Project Structure

lingo-wiki/
β”œβ”€β”€ app.py               # Main Streamlit application file
β”œβ”€β”€ pages/               # Streamlit page modules
β”‚   β”œβ”€β”€ __init__.py      # Package initialization file
β”‚   β”œβ”€β”€ home.py          # Home page with featured content
β”‚   β”œβ”€β”€ search.py        # Search functionality with multiple tabs
β”‚   β”œβ”€β”€ quiz.py          # Interactive fitness quiz
β”‚   β”œβ”€β”€ workout_plans.py # Workout plan generator and API-based plans
β”‚   └── remedies.py      # Fitness remedies using Wikipedia API
β”œβ”€β”€ services/            # Service modules
β”‚   β”œβ”€β”€ __init__.py      # Package initialization file
β”‚   β”œβ”€β”€ wiki_service.py  # Wikipedia API service functions
β”‚   └── ai_service.py    # AI service functions
β”œβ”€β”€ test_api.py          # Script to test API functions
└── requirements.txt     # Python dependencies

API Services

The application uses real API calls to fetch fitness data from Wikipedia and other sources:

wiki_service.py Functions

Function Name Description Parameters Return Value
search_wiki Searches Wikipedia for fitness-related information query: string Dictionary with search results
get_article_details Gets detailed information about a Wikipedia article title: string Dictionary with article details
get_featured_content Gets featured fitness content from Wikipedia None Dictionary with article and facts
get_fitness_facts Gets random fitness facts None List of fact strings
get_fitness_tips Gets daily fitness tips None List of tip strings
search_fitness_exercise Searches for specific exercise information exercise_name: string Dictionary with exercise details
get_nutrition_information Gets nutritional info for a food food_name: string Dictionary with nutrition data
get_fitness_category_articles Gets articles from a fitness category category: string, limit: int Dictionary with category articles
get_exercise_comparison Compares different exercise types exercise_type: string Dictionary with comparison data
get_latest_fitness_research Gets latest fitness research articles topic: string (optional) Dictionary with research articles
get_workout_plan_by_goal Gets workout plan based on fitness goal goal: string Dictionary with workout plan
search_fitness_remedy Searches for remedies for common ailments ailment: string Dictionary with remedies and exercises

Page Functionality

Home Page

  • Displays featured fitness content from Wikipedia
  • Shows daily fitness tip
  • Presents "Did you know" fitness facts
  • Links to other app sections

Search Page

The search page has multiple tabs:

  1. General Search: Search Wikipedia for fitness information
  2. Nutrition Info: Search for nutritional information about specific foods
  3. Workout Plans: Get plans based on fitness goals
  4. Fitness Remedies: Find remedies for common ailments

Workout Plans Page

  • Generate personalized workout plans based on fitness goals
  • Browse featured API-based workout plans
  • Compare different exercise types
  • View latest fitness research

Remedies Page

  • Browse remedies by category
  • Search for specific remedies
  • Get exercise recommendations for common ailments
  • View API-based information on muscle soreness, joint pain, and more

Quiz Page

  • Test fitness knowledge through an interactive quiz
  • Receive score and feedback
  • Learn new fitness facts