Skip to content

bigturtle679/Lumina

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Digital Study Planner 📚

A production-ready, AI-powered full-stack web application for intelligent study planning, schedule generation, analytics, and exam preparation.

Design: Inspired by Google Gemini — dark theme, glassmorphism, gradient accents, Framer Motion animations.


🏗️ Tech Stack

Layer Technology
Frontend React (Vite), TailwindCSS, Framer Motion, Chart.js, Axios
Backend Node.js, Express, JWT, bcryptjs, better-sqlite3
AI Services Python FastAPI, scikit-learn, pandas, numpy
AI Model Groq API (LLaMA3-8B)
Database SQLite (via better-sqlite3)

📁 Project Structure

smart-study-planner/
├── frontend/                # React (Vite) app
│   ├── src/
│   │   ├── api/             # Axios API layer
│   │   ├── components/      # Sidebar, GlassCard
│   │   ├── pages/           # Login, Signup, Dashboard, Planner, Analytics, Assistant
│   │   └── styles/          # Global CSS
│   └── .env
├── backend/                 # Express API server
│   ├── controllers/         # authController, plannerController, analyticsController
│   ├── routes/              # auth, planner, analytics
│   ├── middleware/          # JWT auth, error handler
│   ├── db/                  # SQLite connection
│   ├── seed.js              # Sample data
│   └── .env
├── ai-services/             # FastAPI AI service
│   ├── modules/
│   │   ├── scheduler.py     # Schedule generation
│   │   ├── backlog.py       # Backlog recovery
│   │   ├── preparedness.py  # ML readiness score
│   │   └── chat.py          # Groq/LLaMA3 chat
│   ├── main.py
│   ├── requirements.txt
│   └── .env
└── database/
    ├── schema.sql
    └── study_planner.db     # Auto-created on first run

🚀 Quick Start

1. Backend (Express — Port 5000)

cd smart-study-planner/backend
npm install
node seed.js         # optional: populate sample data
node server.js

Demo credentials (after seed): demo@study.com / demo1234

2. AI Services (FastAPI — Port 8000)

cd smart-study-planner/ai-services

# Create and activate virtual environment (recommended)
python -m venv venv
venv\Scripts\activate        # Windows
# source venv/bin/activate   # macOS/Linux

pip install -r requirements.txt
cp .env.example .env         # Add your GROQ_API_KEY
uvicorn main:app --reload --port 8000

Get a free Groq API key at https://console.groq.com

3. Frontend (Vite — Port 5173)

cd smart-study-planner/frontend
npm install
npm run dev

Open: http://localhost:5173


🌐 API Endpoints

Backend (http://localhost:5000)

Method Path Description
POST /api/auth/signup Register user
POST /api/auth/login Login + JWT
GET /api/auth/me Get current user
GET /api/planner/subjects List subjects
POST /api/planner/subjects Add subject
DELETE /api/planner/subjects/:id Delete subject
GET /api/planner/tasks All tasks
GET /api/planner/tasks/today Today's tasks
PATCH /api/planner/tasks/:id/status Update status
POST /api/planner/logs Add study log
POST /api/planner/generate-schedule AI schedule generation
POST /api/planner/backlog-recovery Recover from backlog
GET /api/analytics/overview Dashboard stats
GET /api/analytics/study-hours Study hours data
GET /api/analytics/subject-progress Per-subject progress
POST /api/analytics/preparedness ML readiness score
POST /api/analytics/ai-chat AI assistant chat

Python AI Service (http://localhost:8000)

Method Path Description
POST /generate-schedule AI schedule
POST /backlog-recovery Recovery plan
POST /preparedness-score ML readiness
POST /ai-chat LLaMA3 chat

⚙️ Environment Variables

Backend .env

PORT=5000
JWT_SECRET=supersecretjwtkey2024studyplanner
PYTHON_API_URL=http://localhost:8000
NODE_ENV=development

AI Services .env

GROQ_API_KEY=your_groq_api_key_here

Frontend .env

VITE_API_URL=http://localhost:5000

✨ Features

Feature Status
JWT Authentication (Signup/Login)
Dark Mode Glassmorphism UI
AI Schedule Generation (Python)
Backlog Recovery Mode
Study Analytics (Charts)
ML Preparedness Score
AI Chat (Groq LLaMA3)
Framer Motion Animations
Protected Routes
SQLite Database
Sample Seed Data

📝 Notes

  • The AI chat works without a Groq key using smart fallback responses
  • The schedule generator auto-assigns topics, revision slots, mock tests, and buffer days
  • The preparedness ML model uses a weighted scoring algorithm (scikit-learn ready to extend)
  • All three services can run independently; backend gracefully handles Python service downtime

Built with ❤️ — Smart Study Planner v1.0.0

About

A smart AI-powered academic planning full-stack application.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors