Skip to content

ameyvaidya44/StudyFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š StudyFlow

AI-Powered Adaptive Learning Platform

StudyFlow is a modern, intelligent study assistant that helps students learn more efficiently through AI-generated quizzes, adaptive learning paths, and comprehensive analytics.

StudyFlow Banner License React Node.js MongoDB

✨ Features

🎯 Core Functionality

  • πŸ“€ Smart Upload - Support for PDF, Word, Text files, and URLs
  • πŸ€– AI Quiz Generation - Automatically create quizzes from your study materials
  • 🧠 Adaptive Learning - Intelligent question selection focusing on weak areas
  • πŸ“Š Analytics Dashboard - Track progress with detailed performance insights
  • πŸ’¬ AI Chatbot - Ask questions about your uploaded materials
  • πŸ—‚οΈ Flashcards - Generate and review flashcards for better retention
  • ⏱️ Pomodoro Timer - Built-in study timer with session tracking
  • 🎯 Learning Paths - Personalized study recommendations
  • πŸ‘₯ Compare Progress - Compare your performance with peers

🎨 Modern UI/UX

  • Clean, professional SaaS-style interface
  • Smooth animations and transitions
  • Responsive design (mobile-first)
  • Gradient accents and modern color palette
  • Glassmorphic effects and soft shadows

πŸš€ Quick Start

Prerequisites

  • Node.js (v16 or higher)
  • MongoDB (local or Atlas)
  • npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/ameyvaidya44/StudyFlow.git
cd StudyFlow
  1. Install backend dependencies
cd backend
npm install
  1. Install frontend dependencies
cd ../frontend
npm install
  1. Configure environment variables

Create .env file in the backend directory:

PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key_here
GEMINI_API_KEY=your_gemini_api_key
YOUTUBE_API_KEY=your_youtube_api_key
NODE_ENV=development

Create .env file in the frontend directory:

VITE_API_URL=http://localhost:5000/api
  1. Start the development servers

Backend:

cd backend
npm run dev

Frontend (in a new terminal):

cd frontend
npm run dev
  1. Open your browser Navigate to http://localhost:5173

πŸ—οΈ Tech Stack

Frontend

  • React 18 - UI library
  • Vite - Build tool and dev server
  • Tailwind CSS - Utility-first CSS framework
  • Framer Motion - Animation library
  • Zustand - State management
  • React Router - Client-side routing
  • Lucide React - Icon library
  • Recharts - Data visualization

Backend

  • Node.js - Runtime environment
  • Express - Web framework
  • MongoDB - NoSQL database
  • Mongoose - MongoDB ODM
  • JWT - Authentication
  • Multer - File upload handling
  • Google Gemini AI - AI-powered features
  • PDF-Parse - PDF text extraction

πŸ“ Project Structure

StudyFlow/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ middleware/      # Auth, error handling, file upload
β”‚   β”‚   β”œβ”€β”€ models/          # MongoDB schemas
β”‚   β”‚   β”œβ”€β”€ routes/          # API endpoints
β”‚   β”‚   └── services/        # Business logic
β”‚   β”œβ”€β”€ .env.example
β”‚   └── package.json
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ api/            # API client
β”‚   β”‚   β”œβ”€β”€ components/     # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/          # Page components
β”‚   β”‚   β”œβ”€β”€ store/          # State management
β”‚   β”‚   └── App.jsx
β”‚   β”œβ”€β”€ .env.example
β”‚   └── package.json
β”œβ”€β”€ DESIGN_SYSTEM.md        # UI/UX guidelines
└── README.md

🎨 Design System

StudyFlow features a modern, professional design system inspired by leading SaaS products:

  • Color Palette: Indigo/Violet gradients with neutral grays
  • Typography: Inter font family with clear hierarchy
  • Spacing: Consistent 4px-based scale
  • Shadows: Layered shadow system for depth
  • Animations: Smooth 200-300ms transitions
  • Border Radius: 12-24px for modern feel

See DESIGN_SYSTEM.md for complete guidelines.

πŸ”‘ Key Features Explained

AI Quiz Generation

Upload your study materials and let AI automatically generate relevant questions with multiple difficulty levels.

Adaptive Learning

The system tracks your performance and focuses on topics where you need improvement, creating a personalized learning experience.

Analytics Dashboard

Comprehensive insights including:

  • XP points and study streaks
  • Quiz performance metrics
  • Topic-wise progress tracking
  • Time spent studying
  • Accuracy trends

AI Chatbot

Ask questions about your uploaded materials and get instant, context-aware answers powered by AI.

πŸ“Š API Endpoints

Authentication

  • POST /api/auth/register - Register new user
  • POST /api/auth/login - Login user
  • GET /api/auth/profile - Get user profile

Content

  • POST /api/content/upload - Upload study material
  • GET /api/content - Get all user content
  • GET /api/content/:id - Get specific content

Quiz

  • POST /api/quiz/generate - Generate quiz from content
  • POST /api/quiz/submit - Submit quiz answers
  • GET /api/quiz/history - Get quiz history

Analytics

  • GET /api/analytics/performance - Get performance metrics
  • GET /api/analytics/progress - Get topic progress

See individual route files for complete API documentation.

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Amey Vaidya

πŸ™ Acknowledgments

  • Google Gemini AI for powering intelligent features
  • Framer Motion for smooth animations
  • Tailwind CSS for the utility-first approach
  • The open-source community

πŸ“§ Support

For support, email your-email@example.com or open an issue in the GitHub repository.

πŸ—ΊοΈ Roadmap

  • Mobile app (React Native)
  • Collaborative study groups
  • Video content support
  • Spaced repetition algorithm
  • Gamification features
  • Multi-language support
  • Offline mode
  • Browser extension

Made with ❀️ by Amey Vaidya
Star ⭐ this repository if you find it helpful!

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages