--- title: Base Course Personalization emoji: 📚 colorFrom: purple colorTo: indigo sdk: streamlit sdk_version: "1.37.0" app_file: app.py pinned: false --- # Base Course Personalization ![Banner](https://img.shields.io/badge/Streamlit-App-FF4B4B?style=for-the-badge&logo=streamlit&logoColor=white) ![Python](https://img.shields.io/badge/Python-3.7+-blue?style=for-the-badge&logo=python&logoColor=white) ## 📚 Overview Base Course Personalization is an interactive web application that tailors educational content to match individual learning preferences. By collecting user profile information and preferences, the system generates personalized course materials optimized for each learner's unique needs. ## ✨ Features - **Personalized User Profiles**: Customize learning experiences based on user demographics and preferences - **Adaptive Learning Styles**: Support for visual, auditory, and kinesthetic learning approaches - **Language Customization**: Set your preferred language and voice settings - **Technical Preferences**: Specify programming language preferences - **Dark Mode Interface**: Easy-on-the-eyes interface for extended learning sessions ## 🚀 Quick Start The application is hosted on Hugging Face Spaces. You can access it here: [Launch Base Course Personalization App](https://huggingface.co/spaces/banao-tech/base-course-personalization) ## 🛠️ Local Development ### Prerequisites - Python 3.7+ - Streamlit ### Installation 1. Clone this repository ```bash git clone https://github.com/banao-tech/base-course-personalization.git cd base-course-personalization ``` 2. Install dependencies ```bash pip install -r requirements.txt ``` 3. Run the application ```bash streamlit run main.py ``` ## 📋 How It Works 1. **Fill Your Profile**: Enter personal details and preferences 2. **Specify Learning Style**: Choose your preferred learning style (visual, auditory, kinesthetic) 3. **Set Language Preferences**: Select language settings and voice preferences 4. **Submit**: Generate your personalized course structure 5. **View Results**: See your personalized course outline and settings ## 🔧 Technical Details The application generates a JSON payload that can be processed by the backend learning management system to create personalized course content. Key components include: - **User Profile**: Demographic and preference information - **Topics**: Course structure and content links - **Settings**: Language, voice, and technical preferences ### API Integration The application integrates with a personalization API that processes the user preferences and returns customized course content. The API endpoint accepts POST requests with a JSON payload containing all collected user information. ```python # Example API call import requests response = requests.post( "https://api.example.com/personalize-course", json=payload ) ``` Response format: ```json { "success": true, "course_id": "personalized-123", "topics": [...] } ``` ## 🔒 Privacy All data is processed in the browser and is not stored unless explicitly submitted to the API. Your preferences are used solely to tailor the learning experience. ## 📝 License This project is licensed under the MIT License - see the LICENSE file for details. ## 👥 Contact For questions, feedback, or support, please [open an issue](https://github.com/banao-tech/base-course-personalization/issues). --- © 2025 Base Course Personalization | All Rights Reserved