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.
- π€ 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
- Clean, professional SaaS-style interface
- Smooth animations and transitions
- Responsive design (mobile-first)
- Gradient accents and modern color palette
- Glassmorphic effects and soft shadows
- Node.js (v16 or higher)
- MongoDB (local or Atlas)
- npm or yarn
- Clone the repository
git clone https://github.com/ameyvaidya44/StudyFlow.git
cd StudyFlow- Install backend dependencies
cd backend
npm install- Install frontend dependencies
cd ../frontend
npm install- 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=developmentCreate .env file in the frontend directory:
VITE_API_URL=http://localhost:5000/api- Start the development servers
Backend:
cd backend
npm run devFrontend (in a new terminal):
cd frontend
npm run dev- Open your browser
Navigate to
http://localhost:5173
- 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
- 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
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
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.
Upload your study materials and let AI automatically generate relevant questions with multiple difficulty levels.
The system tracks your performance and focuses on topics where you need improvement, creating a personalized learning experience.
Comprehensive insights including:
- XP points and study streaks
- Quiz performance metrics
- Topic-wise progress tracking
- Time spent studying
- Accuracy trends
Ask questions about your uploaded materials and get instant, context-aware answers powered by AI.
POST /api/auth/register- Register new userPOST /api/auth/login- Login userGET /api/auth/profile- Get user profile
POST /api/content/upload- Upload study materialGET /api/content- Get all user contentGET /api/content/:id- Get specific content
POST /api/quiz/generate- Generate quiz from contentPOST /api/quiz/submit- Submit quiz answersGET /api/quiz/history- Get quiz history
GET /api/analytics/performance- Get performance metricsGET /api/analytics/progress- Get topic progress
See individual route files for complete API documentation.
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Amey Vaidya
- GitHub: @ameyvaidya44
- Google Gemini AI for powering intelligent features
- Framer Motion for smooth animations
- Tailwind CSS for the utility-first approach
- The open-source community
For support, email your-email@example.com or open an issue in the GitHub repository.
- Mobile app (React Native)
- Collaborative study groups
- Video content support
- Spaced repetition algorithm
- Gamification features
- Multi-language support
- Offline mode
- Browser extension
Star β this repository if you find it helpful!