A comprehensive web-based AI-powered Physics learning platform designed specifically for Class 10 CBSE students. This interactive tutor provides personalized learning experiences, quizzes, study plans, and real-time doubt solving capabilities.
- Personalized Learning: Adaptive content based on student performance
- Interactive Quizzes: Topic-wise assessments with detailed explanations
- AI-Powered Chat: Real-time doubt solving with context-aware responses
- Study Plans: Customized study schedules with performance tracking
- Performance Analytics: Detailed progress tracking and focus areas
- Smart RAG System: Retrieval Augmented Generation for accurate responses
Class 10 Physics (CBSE):
- Light - Reflection and Refraction
- The Human Eye and the Colourful World
- Electricity
- Magnetic Effects of Electric Current
- Framework: Flask (Python)
- Database: SQLite3
- AI Integration: Google's Gemini AI
- Authentication: Session-based
- Template Engine: Jinja2
- Styling: Custom CSS with responsive design
- Interactivity: JavaScript
- UI Components: Bootstrap with custom components
├── app.py # Main Flask application
├── gemini_utils.py # Gemini AI integration utilities
├── rag_utils.py # RAG system implementation
├── requirements.txt # Python dependencies
├── students.db # SQLite database
├── utils.py # Helper utilities
│
├── data/
│ ├── progress.json # Student progress data
│ ├── quiz_questions.json # Quiz question bank
│ ├── rag_knowledge_base.json # RAG system knowledge base
│ └── student_responses.json # Student interaction data
│
├── static/
│ ├── css/
│ │ ├── chatbot.css
│ │ ├── study_plan.css
│ │ └── style.css
│ ├── images/
│ │ └── logo.png
│ └── js/
│ ├── chatbot.js
│ ├── performance_analytics.js
│ ├── progress.js
│ ├── quick_formulas.js
│ ├── quiz_results.js
│ ├── reminder.js
│ ├── script.js
│ └── study_plan_actions.js
│
└── templates/
├── base.html
├── chatbot.html
├── dashboard.html
├── index.html
├── login.html
├── quiz_active.html
├── quiz_results.html
├── quiz_start.html
├── register.html
├── settings.html
└── study_plan.html
- Python 3.8+
- Gemini API Key (for AI features)
- Modern web browser
- Clone the repository:
git clone <repository-url>
cd personalized-physics-tutor
- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # For Linux/Mac
venv\\Scripts\\activate # For Windows
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
# Create .env file with:
GEMINI_API_KEY=your_api_key_here
- Initialize the database:
python app.py
- Run the application:
flask run
Visit http://localhost:5000
in your browser.
- Database: SQLite configuration in
app.py
- AI Settings: Gemini AI parameters in
gemini_utils.py
- RAG System: Knowledge base configuration in
rag_utils.py
- Registration with email and DOB
- Session-based authentication
- User profile management
- AI-powered chatbot for doubts
- Real-time quiz generation
- Performance-based difficulty adjustment
- Customized study schedules
- Topic-wise learning paths
- Progress tracking
- Chapter-wise performance tracking
- Streak monitoring
- Focus area recommendations
- Context-aware responses
- NCERT-aligned knowledge base
- Dynamic content generation
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- CBSE Physics curriculum
- Google's Gemini AI platform
- Open-source community
For support, email [skshivam771@gmail.com] or raise an issue in the repository.