Skip to content

Charushi06/StudyPlan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

248 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“š StudyPlan โ€” Turn Chaos into Clarity

โšก Paste anything. Get a structured study plan instantly.
No manual entry. No missed deadlines.

๐ŸŒ Live App: https://studyplan-jvgd.onrender.com/


๐Ÿ“ธ Screenshots

๐ŸŽฏ Focus Mode

Focus Mode

Stay productive using the built-in Pomodoro-style focus timer and task tracking system.

๐Ÿ“ฆ Archived Tasks

Archived Tasks

Access completed and archived tasks in a dedicated section for better organization.

๐Ÿ“… Calendar View

Calendar View

Visualize deadlines, study sessions, and upcoming tasks through an interactive calendar.

โž• Create New Task

Create New Task

Quickly create and manage study tasks with subject categorization and deadline support.


๐Ÿง  The Idea

Students donโ€™t lack information.
They lack organization.

Assignments live in:

  • ๐Ÿ“ง Emails
  • ๐Ÿ’ฌ WhatsApp groups
  • ๐Ÿ“„ PDFs & portals

And the biggest problem?

โŒ You have to manually re-enter everything into a planner


๐Ÿ’ก Solution

StudyPlan removes manual planning completely.

Just:

  1. Paste messy text
  2. AI extracts tasks
  3. Everything becomes structured

๐ŸŽฏ From chaos โ†’ clean plan in seconds


โš™๏ธ How It Works

User Paste
โ†“
AI Extraction (Gemini)
โ†“
Structured Tasks (Dates, Subjects)
โ†“
User Review + Edit
โ†“
Planner + Calendar Update

โœจ Features

๐Ÿค– AI Intelligence

  • Smart extraction from unstructured text
  • Detects deadlines, subjects, tasks, notes
  • Handles ambiguous dates with user confirmation

๐Ÿ“Š Smart Planning System

  • Auto-categorized boards:
    • Due Soon
    • This Week
    • Completed
  • Conflict detection (deadline clustering alerts)

๐Ÿ“… Interactive Calendar

  • Global calendar view
  • Click a date โ†’ filter tasks instantly
  • Color-coded deadlines

๐Ÿงฉ Seamless Editing

  • Inline editing (no popups)
  • Modify extracted data before saving

๐Ÿ”” Smart Notifications

  • Modern, glassmorphic toast notifications
  • Interactive confirmation modals
  • Zero-dependency Vanilla JS implementation
  • Automatically adapts to Light/Dark mode

๐Ÿ’พ Persistent Storage

  • SQLite-based local database
  • Structured task + subject mapping

๐Ÿง  System Architecture

Frontend (Vanilla JS UI)
โ†“
Node.js Express API
โ†“
AI Layer (Gemini API)
โ†“
SQLite Database
โ†“
State Management + UI Sync

๐Ÿ›  Tech Stack

Layer Technology
Frontend HTML, CSS (Glassmorphism), Vanilla JS
Backend Node.js + Express
Database SQLite
AI Google Gemini (GenAI SDK)

๐Ÿš€ Key Differentiators

Feature StudyPlan Typical Planners
AI Extraction โœ… โŒ
Zero Manual Entry โœ… โŒ
Conflict Detection โœ… โŒ
Inline Editing โœ… โŒ

๐Ÿ“ฆ Installation

git clone https://github.com/Charushi06/StudyPlan.git
cd StudyPlan
npm install

๐Ÿณ Docker Development

StudyPlan runs as a single container because Express serves both the API and static frontend, and SQLite is file-based (not a separate database server). Docker provides a consistent, reproducible environment for onboarding and local development.

Prerequisites

  • Docker Engine 24+ and Docker Compose v2 (docker compose CLI)
  • Copy .env.example to .env and set GEMINI_API_KEY (optional โ€” the app falls back to local NLP without it)

Quick Start

cp .env.example .env   # edit GEMINI_API_KEY
docker compose up --build

Open โ†’ http://localhost:3000

Common Docker Commands

Command Purpose
docker compose up --build Build and start the stack
docker compose up -d Start detached
docker compose down Stop and remove containers (volume preserved)
docker compose down -v Stop and delete SQLite data
docker compose logs -f app Tail app logs
docker compose exec app npm test Run tests inside container
docker compose ps Show service health status

Development Workflow

  • Docker (recommended for onboarding): one command, consistent Node 20 + sqlite3 build, persistent data in the sqlite_data volume
  • Local npm (faster iteration): use the bare-metal flow below โ€” no Docker required for day-to-day UI changes
  • Reset database: docker compose down -v then docker compose up --build

๐Ÿ”‘ Environment Setup

Create .env:

GEMINI_API_KEY=your_gen_ai_key_here

โ–ถ๏ธ Run Locally

Without Docker:

node server.js

Open โ†’ http://localhost:3000


Project Structure

 StudyPlan
โ”œโ”€โ”€  css
โ”‚   โ””โ”€โ”€  index.css           # Contains all styling rules, variables, and animations
โ”œโ”€โ”€  js
โ”‚   โ”œโ”€โ”€  utils
โ”‚   โ”‚   โ”œโ”€โ”€  aiMock.js       # The original mock UI extraction hook (deprecated)
โ”‚   โ”‚   โ”œโ”€โ”€  api.js          # The live fetch logic communicating with our Express 
screenshots/
โ”œโ”€โ”€ focus-mode.png
โ”œโ”€โ”€ archived-tasks.png
โ”œโ”€โ”€ calendar-view.png
โ””โ”€โ”€ create-task.png
API
โ”‚   โ”‚   โ””โ”€โ”€  toast.js        # Modern toast & confirmation modal system
โ”‚   โ”œโ”€โ”€  app.js              # The main controller (handles DOM UI, event bindings, and Calendar)
โ”‚   โ””โ”€โ”€  store.js            # The Custom State Manager handling our frontend Pub/Sub state
โ”œโ”€โ”€  .env.example            # Template file for setting the GEMINI_API_KEY
โ”œโ”€โ”€  .dockerignore           # Files excluded from Docker build context
โ”œโ”€โ”€  Dockerfile              # Container image for the app
โ”œโ”€โ”€  docker-compose.yaml     # Orchestrates the local Docker development stack
โ”œโ”€โ”€  .gitignore              # Tells git to ignore databases, environments, and node packages
โ”œโ”€โ”€  database.js             # Initializes the SQLite database and executes DB table schemas
โ”œโ”€โ”€  index.html              # The frontend structural entry point
โ”œโ”€โ”€  package.json            # Node project configuration and backend dependencies
โ”œโ”€โ”€  README.md               # The comprehensive project documentation
โ”œโ”€โ”€  server.js               # The primary Node.js & Express REST Backend logic
โ””โ”€โ”€  studyplan.db

๐Ÿ”ฎ Future Roadmap

  • ๐Ÿค– Smarter AI parsing (multi-language)
  • ๐Ÿ“Š Study analytics dashboard
  • ๐Ÿ”” Smart reminders & notifications
  • ๐Ÿ“ฑ Mobile version
  • ๐Ÿง  AI study assistant
  • ๐Ÿค Contributing

Want to improve StudyPlan? ๐Ÿš€

๐Ÿ”ฅ High-impact contributions:

  • Improve AI parsing accuracy
  • Add calendar enhancements
  • UI/UX upgrades
  • Notification system

Steps:

git checkout -b feature/your-feature
git commit -m "feat: add feature"
git push origin feature/your-feature

Open a PR with:

  • Clear description
  • Screenshots (if UI changes)

๐Ÿ› Issues

Found a bug? Open an issue!


๐Ÿ’ก Why This Project?

Because planning should not feel like work.

It should feel like:

  • โšก Instant
  • ๐Ÿง  Intelligent
  • ๐ŸŽฏ Effortless

โญ Support

If you like this project: ๐Ÿ‘‰ Star โญ the repo ๐Ÿ‘‰ Share it


๐Ÿ“„ License

MIT License


โšก Author

Charushi GitHub: https://github.com/Charushi06


GSSoC 2026


Built with AI, code, and a mission to simplify student life.


Releases

Packages

Contributors

Languages