A comprehensive AI-powered learning platform that personalizes education using Machine Learning and Large Language Models.
- Personalized Learning: AI analyzes your learning style and adapts content accordingly
- AI Tutor Chat: Real-time conversation with AI for explanations and help
- Custom Quizzes: Auto-generated quizzes based on your performance
- Progress Analytics: Visual dashboards showing your learning journey
- Adaptive Content: Lessons that adjust to your pace and understanding
- Student Analytics: Comprehensive insights into student performance
- Content Management: Create and manage courses, lessons, and assessments
- AI-Assisted Content: Generate lesson plans and quizzes with AI
- Class Management: Monitor multiple students and classes
- Performance Reports: Detailed reports on student progress
- Learning Style Detection: K-means clustering to identify learning patterns
- Performance Prediction: ML models predict student outcomes
- Sentiment Analysis: Analyze student feedback and engagement
- Content Generation: Gemini AI generates personalized lessons and explanations
- Adaptive Difficulty: Automatically adjusts content difficulty
- Framework: Django 4.2 + Django REST Framework
- Database: MongoDB (via djongo)
- AI/ML: Google Gemini API, scikit-learn, NLTK
- Authentication: JWT (Simple JWT)
- Task Queue: Celery + Redis
- Testing: pytest
- Framework: React 18
- State Management: Redux Toolkit
- UI Library: Material-UI (MUI)
- Charts: Recharts
- HTTP Client: Axios
- Routing: React Router v6
- Clustering: K-means for learning style detection
- Classification: Random Forest for performance prediction
- NLP: TextBlob for sentiment analysis
- LLM: Google Gemini for content generation
- Python 3.10+
- Node.js 18+
- MongoDB 6.0+
- Redis 7.0+
- Google Gemini API Key
git clone <repository-url>
cd "ai powered tutor"# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Copy environment file
copy .env.example .env
# Edit .env with your configuration
# Run migrations
python manage.py migrate
# Create superuser
python manage.py createsuperuser
# Load initial data (optional)
python manage.py loaddata initial_data.json
# Start development server
python manage.py runservercd frontend
# Install dependencies
npm install
# Copy environment file
copy .env.example .env.local
# Edit .env.local with your configuration
# Start development server
npm start# Windows (if Redis is installed)
redis-server
# Or use Docker
docker run -d -p 6379:6379 redis:alpine# In a new terminal, activate venv and run:
celery -A backend worker -l info-
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000/api
- Admin Panel: http://localhost:8000/admin
-
Create accounts:
- Register as a student or teacher
- Or use the admin panel to create users
-
For Students:
- Complete the learning style assessment
- Browse available courses
- Chat with AI tutor
- Take quizzes and track progress
-
For Teachers:
- Create courses and lessons
- Use AI to generate content
- Monitor student progress
- Generate reports
ai-powered-tutor/
βββ backend/ # Django project
β βββ settings.py
β βββ urls.py
β βββ wsgi.py
βββ apps/
β βββ users/ # User management & authentication
β βββ courses/ # Course & lesson management
β βββ assessments/ # Quizzes & tests
β βββ ai_tutor/ # AI chat & content generation
β βββ analytics/ # Progress tracking & analytics
β βββ ml_models/ # ML model training & inference
βββ frontend/ # React application
β βββ src/
β β βββ components/ # Reusable components
β β βββ pages/ # Page components
β β βββ redux/ # State management
β β βββ services/ # API services
β β βββ utils/ # Utility functions
β βββ public/
βββ ml_models/ # Trained ML models
βββ tests/ # Test files
βββ requirements.txt
βββ README.md
pytest
pytest --cov=apps # With coveragecd frontend
npm test
npm run test:coverage- JWT-based authentication
- Role-based access control (RBAC)
- CORS protection
- SQL injection prevention (via ORM)
- XSS protection
- CSRF protection
- Rate limiting on API endpoints
- Secure password hashing
- Uses K-means to identify 4 learning styles: Visual, Auditory, Reading/Writing, Kinesthetic
- Features: interaction patterns, content preferences, performance metrics
- Random Forest classifier predicts student success
- Features: quiz scores, time spent, engagement metrics, learning style
- Analyzes student feedback and chat messages
- Helps identify struggling students early
- Generates personalized lesson content
- Creates custom quizzes and questions
- Provides explanations in student's learning style
- Powers the AI tutor chat interface
docker-compose up -dSee DEPLOYMENT.md for detailed instructions.
API documentation is available at:
- Swagger UI: http://localhost:8000/api/docs/
- ReDoc: http://localhost:8000/api/redoc/
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Your Name
- Google Gemini API for AI capabilities
- scikit-learn for ML models
- Django & React communities
For support, email [email protected] or open an issue in the repository.