Skip to content

dharshininandakumar-21/SmartLearningPlanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Smart Learning Planner

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.


✨ Features

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

🛠️ Tech Stack

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

📁 Project Structure

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

Authentication

The application supports role-based authentication with separate Admin and Student accounts.

Users can register new student accounts through the registration page.

🌐 Page Navigation & Redirections

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

🌙 Dark / Light Theme

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.


📖 API Endpoints Reference

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

📄 License

This project is for academic and educational purposes.


Built with ❤️ for students worldwide — Smart Learning Planner © 2026

About

AI-powered Smart Learning Planner with Study Scheduling, Exam Readiness Prediction, Progress Tracking, and YouTube Recommendations.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages