From a2b264d74659c39b0078deda70903fe4f4085f40 Mon Sep 17 00:00:00 2001 From: Robina Mirbahar <60986830+RobinaMirbahar@users.noreply.github.com> Date: Thu, 2 Apr 2026 00:28:54 +0500 Subject: [PATCH] Revise README for clarity and additional features Updated README to enhance clarity and structure, added features section, and improved installation instructions. --- README.md | 182 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 110 insertions(+), 72 deletions(-) diff --git a/README.md b/README.md index 4905a51..61d1d9a 100644 --- a/README.md +++ b/README.md @@ -1,128 +1,166 @@ - # ๐Ÿ Python Learning Assistant +
+ [![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://python-learning-assistant.streamlit.app/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) +[![Python](https://img.shields.io/badge/Python-3.10%2B-3776AB?logo=python&logoColor=white)](https://python.org) +[![Gemini API](https://img.shields.io/badge/Powered%20by-Gemini%20API-4285F4?logo=google&logoColor=white)](https://aistudio.google.com) +[![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-brightgreen.svg)](https://github.com/RobinaMirbahar/Python-Learning-Assistant/pulls) + +**An interactive AI-powered Python tutor โ€” built for all skill levels.** +Adaptive explanations. Live code examples. Instant feedback. Powered by Google Gemini. -An interactive AI tutor powered by Google's Gemini API for learning Python at all skill levels. +[๐ŸŒ Live Demo](https://python-learning-assistant.streamlit.app/) ยท [๐Ÿ› Report Bug](https://github.com/RobinaMirbahar/Python-Learning-Assistant/issues) ยท [โœจ Request Feature](https://github.com/RobinaMirbahar/Python-Learning-Assistant/issues) ![App Screenshot](https://github.com/RobinaMirbahar/Python-Learning-Assistant/blob/main/Images/PLA.png?raw=true) -## ๐Ÿ“‚ Project Structure +
-``` -PYTHON-LEARNING-ASSISTANT/ -โ”œโ”€โ”€ .devcontainer/ # VSCode dev container configuration -โ”œโ”€โ”€ .github/ # GitHub workflows and actions -โ”œโ”€โ”€ venv/ # Python virtual environment -โ”œโ”€โ”€ .env # Environment variables -โ”œโ”€โ”€ .gitignore # Git ignore rules -โ”œโ”€โ”€ LICENSE # MIT License file -โ”œโ”€โ”€ python-assistant.py # Main Streamlit application -โ”œโ”€โ”€ README.md # This documentation file -โ””โ”€โ”€ requirements.txt # Python dependencies -``` +--- + +## โœจ Features + +| Feature | Description | +|---|---| +| ๐ŸŽฏ **Adaptive Learning** | Tailored explanations for beginner, intermediate, and advanced learners | +| ๐Ÿ’ป **Interactive Examples** | Run code snippets directly inside the app | +| ๐Ÿ“š **50+ Question Bank** | Pre-loaded with curated Python questions across all skill levels | +| โšก **Real-time Feedback** | Instant AI-driven explanations and corrections | +| ๐Ÿ—‚๏ธ **Session History** | Progress tracking that persists throughout your learning session | + +--- ## ๐Ÿš€ Quick Start ### Prerequisites -- Python 3.10+ -- Gemini API key ([get one here](https://aistudio.google.com/app/apikey)) + +- Python **3.10+** +- A free [Gemini API key](https://aistudio.google.com/app/apikey) ### Installation + ```bash -# Clone the repository +# 1. Clone the repository git clone https://github.com/yourusername/python-learning-assistant.git cd python-learning-assistant -# Create and activate virtual environment +# 2. Create and activate a virtual environment python -m venv venv -source venv/bin/activate # Linux/Mac -.\venv\Scripts\activate # Windows +source venv/bin/activate # macOS / Linux +.\venv\Scripts\activate # Windows -# Install dependencies +# 3. Install dependencies pip install -r requirements.txt -# Configure environment +# 4. Add your API key echo "GEMINI_API_KEY=your_api_key_here" > .env -``` -### Running the App -```bash +# 5. Launch the app streamlit run python-assistant.py ``` -## ๐ŸŒ Live Demo -Access the live application: -[https://python-learning-assistant.streamlit.app/](https://python-learning-assistant.streamlit.app/) +Then open [http://localhost:8501](http://localhost:8501) in your browser. ๐ŸŽ‰ + +--- + +## ๐Ÿ“‚ Project Structure + +``` +PYTHON-LEARNING-ASSISTANT/ +โ”œโ”€โ”€ .devcontainer/ # VSCode dev container configuration +โ”œโ”€โ”€ .github/ # GitHub Actions workflows +โ”œโ”€โ”€ venv/ # Python virtual environment (gitignored) +โ”œโ”€โ”€ .env # Environment variables (gitignored) +โ”œโ”€โ”€ .gitignore +โ”œโ”€โ”€ LICENSE +โ”œโ”€โ”€ python-assistant.py # Main Streamlit application +โ”œโ”€โ”€ README.md +โ””โ”€โ”€ requirements.txt # Python dependencies +``` -## ๐Ÿ’ก Features -- **Adaptive Learning**: Tailored explanations for beginners, intermediate, and advanced learners -- **Interactive Examples**: Run code snippets directly in the app -- **Comprehensive Question Bank**: Pre-loaded with 50+ Python questions -- **Real-time Feedback**: Get instant explanations and corrections -- **Progress Tracking**: Session history maintains your learning journey +--- ## ๐Ÿ“š Sample Questions -### Beginner + +
+๐ŸŸข Beginner + - "Explain variables and data types in Python" - "How do if-else statements work?" -- "What are lists and how to use them?" +- "What are lists and how do I use them?" + +
+ +
+๐ŸŸก Intermediate -### Intermediate - "Explain OOP concepts with a class example" -- "How to handle file I/O operations?" -- "What are decorators and practical uses?" +- "How do I handle file I/O operations?" +- "What are decorators and when should I use them?" + +
+ +
+๐Ÿ”ด Advanced -### Advanced -- "Explain metaclasses with use cases" -- "How to optimize Python code performance?" +- "Explain metaclasses with real-world use cases" +- "How can I optimize Python code performance?" - "Implement a custom context manager" +
+ +--- + ## ๐Ÿ› ๏ธ Development -### Using Dev Container -1. Open in VSCode -2. Reopen in Container (F1 > "Remote-Containers: Reopen in Container") -3. The environment will automatically configure -### Dependencies -Listed in `requirements.txt`: +### Using the Dev Container (VSCode) + +1. Open the project folder in VSCode +2. Press `F1` โ†’ select **"Remote-Containers: Reopen in Container"** +3. The environment configures automatically โ€” no manual setup needed + +### Dependencies (`requirements.txt`) + ``` streamlit>=1.32.0 google-generativeai>=0.3.0 python-dotenv>=1.0.0 ``` +--- + ## ๐Ÿค Contributing -Pull requests are welcome! For major changes, please open an issue first. -1. Fork the repository -2. Create your feature branch (`git checkout -b feature/your-feature`) -3. Commit your changes (`git commit -m 'Add some feature'`) -4. Push to the branch (`git push origin feature/your-feature`) -5. Open a pull request +Contributions are welcome and appreciated! Here's how to get started: + +1. **Fork** this repository +2. **Create** a feature branch: `git checkout -b feature/your-feature-name` +3. **Commit** your changes: `git commit -m 'feat: add your feature'` +4. **Push** to your branch: `git push origin feature/your-feature-name` +5. **Open** a Pull Request + +> For major changes, please [open an issue](https://github.com/RobinaMirbahar/Python-Learning-Assistant/issues) first to discuss what you'd like to change. + +--- ## ๐Ÿ“œ License -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. +Distributed under the **MIT License**. See [`LICENSE`](LICENSE) for details. + +--- + +## ๐Ÿ™ About the Author -## ๐Ÿ™ Credits -โœจ Created and maintained by Robina Mirbahar -๐Ÿ† Google Cloud Innovator Champion | ๐Ÿ‘ฉโ€๐Ÿ’ป Women Techmakers Ambassador | ๐Ÿš€ Google Developer Expert +
-๐Ÿ”— **Connect with me:** +**Robina Mirbahar** +๐Ÿ† Google Cloud Innovator Champion  |  ๐Ÿ‘ฉโ€๐Ÿ’ป Women Techmakers Ambassador  |  ๐Ÿš€ Google Developer Expert -

- - LinkedIn - - - Twitter - - - GitHub - - -

+[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/robinamirbahar/) +[![Twitter](https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/robinamirbahar) +[![GitHub](https://img.shields.io/badge/GitHub-181717?style=for-the-badge&logo=github&logoColor=white)](https://github.com/robinamirbahar) +*If you find this project useful, consider giving it a โญ โ€” it helps others discover it too!* +