Skip to content

pandees24/SmartStudyPlanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

SmartStudyPlanner

A comprehensive study planning application with AI-powered scheduling and progress tracking.

Features

  • Calendar Interface: Interactive calendar for scheduling study sessions
  • Task Management: Create, prioritize, and track study tasks
  • Progress Analytics: Visual charts showing study progress and performance
  • AI-Powered Scheduling: Machine learning model predicts optimal study durations
  • Subject Difficulty Assessment: Automatic difficulty scoring for subjects
  • Study Streak Tracking: Monitor and maintain study consistency
  • Export Reports: Generate detailed study reports

Tech Stack

  • Frontend: React.js, React Big Calendar, D3.js, Tailwind CSS
  • Backend: Flask API, PostgreSQL
  • ML: Scikit-Learn sequential neural network
  • Database: PostgreSQL with SQLAlchemy

Project Structure

SmartStudyPlanner/
├── frontend/          # React application
├── backend/           # Flask API server
├── ml_model/          # Machine learning models
├── README.md          # This file
└── requirements.txt   # Python dependencies

Setup Instructions

Prerequisites

  • Node.js (v16+)
  • Python (v3.8+)
  • PostgreSQL
  • Git

Backend Setup

  1. Navigate to backend directory:

    cd backend
  2. Create virtual environment:

    python -m venv venv
    venv\Scripts\activate  # Windows
    # source venv/bin/activate  # macOS/Linux
  3. Install dependencies:

    pip install -r requirements.txt
  4. Set up environment variables:

    cp .env.example .env
    # Edit .env with your database credentials
  5. Initialize database:

    flask db init
    flask db migrate
    flask db upgrade
  6. Train ML model:

    python train_model.py
  7. Run the server:

    flask run

Frontend Setup

  1. Navigate to frontend directory:

    cd frontend
  2. Install dependencies:

    npm install
  3. Start development server:

    npm start

Database Setup

  1. Install PostgreSQL
  2. Create database: smart_study_planner
  3. Update connection string in .env

API Documentation

Authentication

  • POST /api/auth/login - User login
  • POST /api/auth/register - User registration

Tasks

  • GET /api/tasks - Get all tasks
  • POST /api/tasks - Create new task
  • PUT /api/tasks/{id} - Update task
  • DELETE /api/tasks/{id} - Delete task

Study Sessions

  • GET /api/sessions - Get study sessions
  • POST /api/sessions - Log study session
  • GET /api/analytics/progress - Get progress analytics

ML Predictions

  • POST /api/predict/duration - Predict optimal study duration
  • POST /api/predict/difficulty - Assess subject difficulty

Development

Running Tests

# Backend tests
cd backend
pytest

# Frontend tests
cd frontend
npm test

Building for Production

# Backend
cd backend
gunicorn app:app

# Frontend
cd frontend
npm run build

Contributing

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/new-feature
  3. Commit changes: git commit -am 'Add new feature'
  4. Push to branch: git push origin feature/new-feature
  5. Submit pull request

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages