Skip to content

muhammadkhuzaima25/WeekPlanr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

22 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

WeekPlanr โ€” AI Weekly Study Planner

WeekPlanr

Your AI Weekly Study Planner for Stressful Semesters

Live Demo




๐Ÿ“Œ Overview

WeekPlanr is a production-grade full-stack MERN web application built for university students who struggle to manage assignments, quizzes, projects, and exams every semester.

Unlike generic to-do apps, WeekPlanr uses AI to intelligently build your weekly study schedule โ€” prioritizing tasks by deadline proximity, subject importance, and task type. With drag-and-drop planning, a deadline radar, auto-archive, and browser push notifications, you'll never miss a submission again.

Built specifically for the semester system โ€” where multiple deadlines collide every week.


โ— Problem Statement

Every semester, university students face the same four problems:

  • Overwhelming workload โ€” multiple subjects, assignments, quizzes, and exams with no clear plan
  • Missed deadlines โ€” no system to track what's due and when
  • Poor prioritization โ€” hard to tell which task needs attention right now
  • No structure โ€” studying without a day-by-day plan leads to cramming and burnout

WeekPlanr solves all four with AI-generated weekly schedules, deadline radar visualization, smart browser notifications, and drag-and-drop planning.


๐Ÿ–ฅ๏ธ UI Preview

WeekPlanr Dashboard


โœจ Key Features

Feature Description
๐Ÿง  AI Weekly Schedule AI creates a smart day-by-day plan โ€” prioritized by urgency, task type, and weak areas
๐Ÿ“‹ Drag & Drop Planning Rearrange tasks freely with @hello-pangea/dnd โ€” changes sync instantly
๐Ÿšจ Deadline Radar Three-zone urgency view: Critical (โ‰ค24h), Warning (2โ€“3 days), Safe (4+ days)
๐Ÿ”” Smart Notifications Browser push notifications at 24h, 6h, and deadline time for every task
๐Ÿคฏ Overwhelm Mode AI keeps your 3 most urgent tasks today, shifts the rest to tomorrow automatically
๐Ÿ“Š Progress Dashboard Visual breakdown of completed vs pending tasks per subject
๐Ÿ—‘๏ธ Auto-Archive Overdue tasks auto-mark as completed โ€” keeps your weekly view clean
๐ŸŒ™ Dark & Light Mode Full theme support persisted across sessions
๐Ÿ” JWT + Google OAuth Secure email/password login or one-click Google sign-in
๐Ÿ›ก๏ธ Rate Limiting Smart rate limiting on all endpoints to prevent abuse and spam
๐Ÿ’จ Smooth Animations Page transitions and micro-interactions via Framer Motion

๐Ÿ› ๏ธ Tech Stack

Frontend

  • React 19 + Vite 8
  • React Router v7
  • Axios
  • Tailwind CSS 4
  • Framer Motion 12
  • Lucide React (icons)
  • @hello-pangea/dnd (drag & drop)
  • @react-oauth/google (Google OAuth)
  • react-hot-toast (notifications)

Backend

  • Node.js + Express 4
  • MongoDB Atlas + Mongoose 8
  • JWT Authentication + bcryptjs
  • AI API Integration
  • express-rate-limit
  • Helmet (security headers)
  • Google Auth Library

๐Ÿ”’ Rate Limiting

All endpoints are protected against spam and abuse:

Scope Limit Window
All /api routes 100 requests 15 min
/api/auth/login 5 attempts 15 min
/api/auth/register 3 accounts 1 hour

โš™๏ธ How to Run Locally

Prerequisites

1. Clone the repo

git clone https://github.com/muhammadkhuzaima25/WeekPlanr.git
cd WeekPlanr

2. Backend setup

cd server
npm install

Create server/.env:

PORT=5000
MONGO_URI=mongodb+srv://<user>:<pass>@cluster.xxxxx.mongodb.net/weekplanr
JWT_SECRET=your_long_random_secret
JWT_EXPIRES_IN=7d
CLIENT_URL=http://localhost:5173
AI_API_KEY=your_ai_api_key
GOOGLE_CLIENT_ID=your_google_client_id

Start backend:

npm run dev

3. Frontend setup

cd client
npm install

Create client/.env:

VITE_API_BASE_URL=http://localhost:5000/api
VITE_GOOGLE_CLIENT_ID=your_google_client_id

Start frontend:

npm run dev

Open http://localhost:5173 in your browser.


๐Ÿ“ Project Structure

WeekPlanr/
โ”œโ”€โ”€ client/                        # React + Vite Frontend
โ”‚   โ”œโ”€โ”€ public/
โ”‚   โ”‚   โ””โ”€โ”€ WeekPlanr.svg          # Logo / Favicon
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ components/            # Navbar, Footer, Sidebar, TaskCard, WeekGrid, etc.
โ”‚       โ”œโ”€โ”€ context/               # AuthContext, ThemeContext
โ”‚       โ”œโ”€โ”€ pages/                 # Landing, WeeklyPlan, AddTask, DeadlineRadar, etc.
โ”‚       โ”œโ”€โ”€ services/              # Axios API client
โ”‚       โ”œโ”€โ”€ App.jsx                # Router setup
โ”‚       โ”œโ”€โ”€ main.jsx               # Entry point
โ”‚       โ””โ”€โ”€ index.css              # Tailwind + theme variables
โ”‚
โ””โ”€โ”€ server/                        # Node + Express Backend
    โ”œโ”€โ”€ src/
    โ”‚   โ”œโ”€โ”€ config/                # MongoDB connection
    โ”‚   โ”œโ”€โ”€ controllers/           # auth, task, subject, schedule, progress
    โ”‚   โ”œโ”€โ”€ middleware/            # authMiddleware, rateLimiter
    โ”‚   โ”œโ”€โ”€ models/                # User, Task, Subject, ScheduleDay
    โ”‚   โ”œโ”€โ”€ routes/                # auth, tasks, subjects, schedule, progress, archive
    โ”‚   โ”œโ”€โ”€ utils/                 # aiService, autoArchive
    โ”‚   โ””โ”€โ”€ server.js              # Express app entry
    โ”œโ”€โ”€ .env
    โ””โ”€โ”€ package.json

๐ŸŒ API Endpoints

Auth โ€” /api/auth

Method Path Description
POST /register Create new account
POST /login Login, returns JWT
POST /google Google OAuth login/signup
GET /me Get current user (protected)
PUT /update Update profile (protected)

Tasks โ€” /api/tasks

Method Path Description
GET / Get all user tasks
POST / Create a new task
PUT /:id Update a task
DELETE /:id Delete a task

Subjects โ€” /api/subjects

Method Path Description
GET / Get all subjects
POST / Create a subject
PUT /:id Update a subject
DELETE /:id Delete a subject

Schedule โ€” /api/schedule

Method Path Description
POST /generate AI-generate weekly schedule
POST /optimize Optimize existing schedule with AI
POST /overwhelm Keep top 3 urgent tasks, shift rest to tomorrow

Progress โ€” /api/progress

Method Path Description
GET / Get progress stats per subject

Archive โ€” /api/archive

Method Path Description
GET / Get auto-archived overdue tasks

๐Ÿ”ฎ Future Roadmap

  • Email reminders โ€” 24h before deadline
  • Google Calendar sync
  • Collaborative groups โ€” share tasks with classmates
  • Mobile app โ€” React Native version
  • Pomodoro / Study timer integration
  • File attachments โ€” upload assignment PDFs

๐Ÿ” SEO Keywords

AI study planner ยท weekly study planner for students ยท semester planner app ยท student productivity app ยท AI schedule generator ยท university student planner ยท deadline tracker students ยท assignment and quiz tracker ยท drag and drop study planner ยท overwhelm mode study app ยท MERN stack portfolio project ยท React Node.js MongoDB Express ยท Pakistani university student app ยท smart semester organizer ยท academic planner 2026 ยท free study planner ยท AI powered task prioritization ยท Vercel Render deployment


๐Ÿ‘ค Author

Muhammad Khuzaima Graphic Designer ยท Logo & Brand Identity Expert ยท UI/UX Designer ยท MERN Stack Developer

LinkedIn GitHub


๐Ÿ“„ License

All Rights Reserved. Copyright ยฉ 2026 Muhammad Khuzaima. This project is for viewing and evaluation only. See LICENSE for full terms.


โญ If WeekPlanr helped you organize your semester โ€” please leave a star!
Built from scratch with real debugging, designing, and grinding.
A star costs nothing but means everything. ๐Ÿ™

Star this repo

About

AI-powered weekly study planner that helps semester students manage deadlines, organize tasks, and reduce academic stress.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors