Skip to content

Charushi06/StudyPlan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

227 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/


๐Ÿง  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 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.


About

Topics

Resources

Contributing

Stars

99 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors