Spaces:
Sleeping
Sleeping
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:
- General Search: Search Wikipedia for fitness information
- Nutrition Info: Search for nutritional information about specific foods
- Workout Plans: Get plans based on fitness goals
- 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