An AI-powered full-stack web application that helps students create personalised study schedules, track learning progress, predict exam readiness, and discover curated YouTube resources — all in one place.
| Feature | Description |
|---|---|
| 🗓️ Smart Scheduling | Auto-generates a daily study plan based on exam date, subject priority, difficulty, and available study hours |
| 📊 Progress Tracking | Confidence scores, topic completion, study streaks, and weekly statistics |
| 🔁 Spaced Repetition | Completed topics are automatically scheduled for revision at 1, 3, 7, 14, and 30-day intervals |
| 🎯 Readiness Prediction | AI-driven exam readiness score and predicted exam performance |
| 📺 YouTube Resources | Real-time topic-specific video recommendations via the YouTube Data API |
| 🍅 Pomodoro Timer | Built-in 25-minute focus timer with sound cues |
| 🏆 Achievements | Study streak badges and achievement rewards to keep motivation high |
| 🌙 Dark / Light Mode | Seamless theme toggle persisted across all pages |
| 🛡️ Admin Dashboard | User management, progress reports, and system-wide statistics |
| Layer | Technology |
|---|---|
| Frontend | HTML5, CSS3, JavaScript (vanilla) |
| Backend | Python 3, Flask |
| Database | SQLite via SQLAlchemy ORM |
| Auth | Session-based (Flask sessions + Werkzeug password hashing) |
| API | YouTube Data API v3 |
| Libraries | Flask-CORS, Font Awesome 6, Google Fonts (Poppins) |
| Deployment | GitHub + Render |
SmartLearningPlanner/
├── backend/
│ ├── app.py # Flask routes & API endpoints
│ ├── database.py # SQLAlchemy models & DB init
│ ├── planner.py # Study plan generation logic
│ ├── predictor.py # Exam readiness predictor
│ ├── setup.py # One-time setup helper
│ └── requirements.txt
├── frontend/
│ ├── index.html # Home / Create Study Plan
│ ├── login.html # Login page
│ ├── register.html # Registration page
│ ├── dashboard.html # Student dashboard
│ ├── admin.html # Admin panel
│ ├── css/
│ │ └── style.css # Global styles + dark/light theme
│ └── js/
│ ├── theme.js # Dark / light theme manager
│ ├── main.js # Auth, Pomodoro, shared utilities
│ └── dashboard.js # Dashboard data & interactions
├── data/
│ └── planner.db # SQLite database (auto-created)
└── README.md
The application supports role-based authentication with separate Admin and Student accounts.
| URL | Page | Access |
|---|---|---|
/ or /index.html |
Home / Create Exam | Public (guests see Login/Register; logged-in users see actions) |
/login.html |
Login | Public (redirects to dashboard if already logged in) |
/register.html |
Register | Public |
/dashboard.html |
Student Dashboard | Student only – admin users are redirected to admin panel |
/admin.html |
Admin Panel | Admin only – students are redirected to home |
Click the moon icon in the navigation bar (or the sidebar on the dashboard/admin pages) to toggle between dark and light mode.
Your preference is saved in localStorage and applied instantly on every page — no flash of unstyled content.
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/register |
Create a new account |
POST |
/api/login |
Log in |
POST |
/api/logout |
Log out |
GET |
/api/current_user |
Get session user |
POST |
/api/create_exam |
Create exam + subjects + topics |
GET |
/api/user_exams/<id> |
List a user's exams |
GET |
/api/exam/<id> |
Exam details with subjects & topics |
GET |
/api/stats/<exam_id> |
Study statistics |
GET |
/api/readiness/<exam_id> |
Readiness score & prediction |
GET |
/api/schedule/today/<exam_id> |
Today's study schedule |
GET |
/api/revision/<exam_id> |
Spaced-repetition revision timetable |
GET |
/api/resources/<exam_id> |
YouTube video recommendations |
GET |
/api/weak-subjects/<exam_id> |
Focus / weak subject analysis |
POST |
/api/update_progress |
Log study progress + confidence |
GET |
/api/rewards/<user_id> |
Achievements & badges |
GET |
/api/admin/stats |
Site-wide stats (admin only) |
GET |
/api/get_all_users |
List all users (admin only) |
DELETE |
/api/user/<id> |
Delete a user (admin only) |
GET |
/api/health |
Health check |
This project is for academic and educational purposes.
Built with ❤️ for students worldwide — Smart Learning Planner © 2026