โก Paste anything. Get a structured study plan instantly.
No manual entry. No missed deadlines.
๐ Live App: https://studyplan-jvgd.onrender.com/
Stay productive using the built-in Pomodoro-style focus timer and task tracking system.
Access completed and archived tasks in a dedicated section for better organization.
Visualize deadlines, study sessions, and upcoming tasks through an interactive calendar.
Quickly create and manage study tasks with subject categorization and deadline support.
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
StudyPlan removes manual planning completely.
Just:
- Paste messy text
- AI extracts tasks
- Everything becomes structured
๐ฏ From chaos โ clean plan in seconds
User Paste
โ
AI Extraction (Gemini)
โ
Structured Tasks (Dates, Subjects)
โ
User Review + Edit
โ
Planner + Calendar Update
- Smart extraction from unstructured text
- Detects deadlines, subjects, tasks, notes
- Handles ambiguous dates with user confirmation
- Auto-categorized boards:
- Due Soon
- This Week
- Completed
- Conflict detection (deadline clustering alerts)
- Global calendar view
- Click a date โ filter tasks instantly
- Color-coded deadlines
- Inline editing (no popups)
- Modify extracted data before saving
- Modern, glassmorphic toast notifications
- Interactive confirmation modals
- Zero-dependency Vanilla JS implementation
- Automatically adapts to Light/Dark mode
- SQLite-based local database
- Structured task + subject mapping
Frontend (Vanilla JS UI)
โ
Node.js Express API
โ
AI Layer (Gemini API)
โ
SQLite Database
โ
State Management + UI Sync
| Layer | Technology |
|---|---|
| Frontend | HTML, CSS (Glassmorphism), Vanilla JS |
| Backend | Node.js + Express |
| Database | SQLite |
| AI | Google Gemini (GenAI SDK) |
| Feature | StudyPlan | Typical Planners |
|---|---|---|
| AI Extraction | โ | โ |
| Zero Manual Entry | โ | โ |
| Conflict Detection | โ | โ |
| Inline Editing | โ | โ |
git clone https://github.com/Charushi06/StudyPlan.git
cd StudyPlan
npm installStudyPlan 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.
- Docker Engine 24+ and Docker Compose v2 (
docker composeCLI) - Copy
.env.exampleto.envand setGEMINI_API_KEY(optional โ the app falls back to local NLP without it)
cp .env.example .env # edit GEMINI_API_KEY
docker compose up --buildOpen โ http://localhost:3000
| 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 |
- Docker (recommended for onboarding): one command, consistent Node 20 + sqlite3 build, persistent data in the
sqlite_datavolume - Local npm (faster iteration): use the bare-metal flow below โ no Docker required for day-to-day UI changes
- Reset database:
docker compose down -vthendocker compose up --build
Create .env:
GEMINI_API_KEY=your_gen_ai_key_hereWithout Docker:
node server.jsOpen โ http://localhost:3000
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
- ๐ค Smarter AI parsing (multi-language)
- ๐ Study analytics dashboard
- ๐ Smart reminders & notifications
- ๐ฑ Mobile version
- ๐ง AI study assistant
- ๐ค Contributing
- Improve AI parsing accuracy
- Add calendar enhancements
- UI/UX upgrades
- Notification system
git checkout -b feature/your-feature
git commit -m "feat: add feature"
git push origin feature/your-featureOpen a PR with:
- Clear description
- Screenshots (if UI changes)
Found a bug? Open an issue!
Because planning should not feel like work.
It should feel like:
- โก Instant
- ๐ง Intelligent
- ๐ฏ Effortless
If you like this project: ๐ Star โญ the repo ๐ Share it
MIT License
Charushi GitHub: https://github.com/Charushi06
Built with AI, code, and a mission to simplify student life.



