An interactive educational platform powered by artificial intelligence for learning Python programming language. The platform features an AI-powered teaching assistant that guides users through step-by-step Python learning.
Access the live version of the project at https://python-learning-ai.onrender.com
Any email and 6-digit password are sufficient for registration and login.
- Email: test@example.com
- Password: test123
- Access to all core functionalities
- Unlimited chat sessions
- Code analysis support
- Dark/Light theme options
- Interactive tutor powered by Google Gemini AI
- Content that adapts to student proficiency
- Real-time feedback and assessment
- Code examples and explanations
- Code analysis from GitHub repositories
- Detailed code evaluation reports
- Security and performance recommendations
- Jupyter Notebook support
- Python fundamentals
- Object-Oriented Programming
- Data Structures and Algorithms
- Advanced Python topics
- Personal session management
- Progress tracking
- Dark/Light theme support
- Responsive design
- Backend: Flask (Python)
- Frontend: HTML, CSS, JavaScript, React
- Database: Firebase Firestore
- Authentication: Firebase Authentication
- AI: Google Gemini AI
- Styling: Tailwind CSS
- Code Highlighting: Prism.js
- Clone the repository
git clone https://github.com/Tavuk-Pilav/python-learning-ai.git
cd python-learning-ai
- Install required Python packages
pip install -r requirements.txt
- Create necessary configuration files
.env
file:
API_KEY="your_firebase_api_key"
GEMINI_API_KEY="your_gemini_api_key"
Place firebase-credentials.json
in the project root directory.
- Launch the application
python app.py
-
Authentication
- Register with email and password
- Sign in using Firebase Authentication
-
Topic Selection
- View topics in the left panel
- Select desired topic
-
Learning
- Interactive chat with the assistant
- Try code examples
- Receive instant feedback
-
Code Analysis
- Click the code analysis button in the bottom right
- Enter GitHub URL
- View detailed analysis report
- Secure login with Firebase Authentication
- Secure communication over HTTPS
- Safe storage of user data
- API key protection through environmental variables
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License. See LICENSE for details.