A modern full-stack study & productivity application
Designed for deep focus, clarity, and consistent growth.
๐ด Live Demo โข ๐ Report Bug โข โจ Request Feature
## ๐ฏ About StudyFlowStudyFlow is a full-stack productivity and study-management application designed to help students and self-learners stay focused, track progress, and build consistent study habits.
It combines the Pomodoro technique, real-time analytics, task & subject management, and immersive focus music into a single modern experience.
-
โฑ๏ธ Smart Pomodoro Timer
Fully customizable focus & break sessions -
๐ Deep Analytics Dashboard
Daily, weekly & monthly productivity insights -
๐ต Integrated Music Player
YouTube links & local audio support -
๐ Workflow Manager
Tasks, subjects & goal tracking -
๐ Secure Authentication
JWT + Bcrypt encryption -
โก Real-time Sync
Live updates via Socket.IO -
๐จ Modern UI/UX
Responsive, dark-friendly interface -
๐ฑ Cross-Device Ready
Works on desktop & mobile -
๐ Gamified Achievements
Unlock rewards for study milestones
StudyFlow includes a gamified achievement system to motivate consistent study habits. Earn points and unlock badges by reaching study milestones:
- First Steps: Complete 1 study session (10 points)
- Hour Master: Study for 1 hour total (15 points)
- Dedicated Scholar: Study for 10 hours total (50 points)
- Study Warrior: Study for 50 hours total (150 points)
- Consistency King: Maintain a 7-day study streak (75 points)
- Perfect Week: Study every day for a week (100 points)
- Goal Crusher: Complete 1 goal (20 points)
- Goal Master: Complete 10 goals (100 points)
- Subject Explorer: Create 1 subject (10 points)
- Task Manager: Complete 1 task (15 points)
- Task Champion: Complete 50 tasks (80 points)
Note: Achievements are automatically unlocked as you progress. Check your profile to see earned badges!
Before you begin, make sure all the above tools are installed and properly configured.
git clone https://github.com/salahuddingfx/Study-Flow.git
cd Study-Flow
2๏ธโฃ Install Dependencies
cd Backend
npm install
3๏ธโฃ Environment Configuration
Create a `.env` file in the **Backend** directory:
```env
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_super_secret_key
NODE_ENV=development
# AI Configuration (Unlimited Models Available!)
GEMINI_API_KEY=your_google_gemini_api_key
GEMINI_MODEL=gemini-2.0-flash-exp # Default: unlimited experimental modelAvailable AI Models:
gemini-2.0-flash-exp- โก Unlimited (Recommended)gemini-exp-1206- โก Unlimitedgemma-2-9b-it- Gemma 9Bgemma-2-27b-it- Gemma 27Bgemini-2.5-flash-โ ๏ธ Rate Limited (5 RPM/20 RPD)
4๏ธโฃ Start the Backend Server npm start
5๏ธโฃ Run the Frontend
Use VS Code Live Server (recommended)
Backend โ http://localhost:5000
Frontend โ http://127.0.0.1:5500/index.html (Live Server)
Or any static server of your choice.
- Get a free API key from Google AI Studio
- Add
GEMINI_API_KEYto your Backend.env - The app uses unlimited models by default (gemini-2.0-flash-exp) to avoid rate limits
- Fallback system: Automatically tries multiple models if one fails
- No rate limits on experimental models! ๐
## ๐ Project Structure
```text
Study Flow/
โโโ Backend/
โ โโโ config/ # Database & app configuration
โ โโโ middleware/ # Auth & custom middlewares
โ โโโ models/ # Mongoose schemas
โ โโโ routes/ # API routes
โ โโโ node_modules/
โ โโโ .env # Environment variables
โ โโโ package.json
โ โโโ package-lock.json
โ โโโ server.js # Express server entry point
โ โโโ check-deployment.js
โ
โโโ Frontend/
โ โโโ Assets/
โ โ โโโ script.js # Frontend logic
โ โ โโโ style.css # UI styles
โ โโโ index.html # Main frontend entry
โ
โโโ .gitignore
โโโ DEPLOYMENT.md
โโโ readme.md
โโโ render.yaml
---
## ๐ Recent Upgrades
### ๐ค AI System v2.0
- โก **Unlimited AI Models**: Now using `gemini-2.0-flash-exp` (no rate limits!)
- ๐ **Smart Fallback**: Auto-tries 9+ models including Gemma 2 series
- ๐ **Model Tracking**: Response includes which model answered
- ๐ฏ **Context-Aware**: AI knows your subjects, tasks, goals, and study history
- ๐ง **Health Endpoint**: `/api/ai/health` shows model status
### ๐จ UX Improvements
- ๐ฑ๏ธ **Enhanced Custom Cursor**: Works on 17+ interactive element types
- ๐ฑ **Mobile Optimized**: Full-screen menu, no overflow, touch-friendly
- ๐ญ **Glassmorphism**: Beautiful cursor with hover effects (desktop only)
- ๐ฐ **Blog System**: Default posts with images + modal reader
- ๐ **Admin Panel**: Full dashboard with analytics and user management
### ๐ก๏ธ Security & Performance
- ๐ Sensitive debug logs removed
- ๐ `.env.example` template added
- โก Compression middleware enabled
- ๐ก๏ธ Helmet.js security headers
- ๐ฆ Rate limiting configured
---
## ๐งช Quick Test Checklist
- Login โ Navigate Timer/Analytics โ No horizontal scroll on mobile.
- Open Blog โ Default posts visible โ Click to read modal opens.
- Toggle AI widget โ Ask a question โ Typing indicator and responses flow.
- Admin Panel opens when `isAdmin` is true; charts render.
---
## โ๏ธ Environment & Running
- Backend: Express on port `5000` (from `.env`).
- Frontend: Open `index.html` via VS Code Live Server.
- AI: `GEMINI_API_KEY` in Backend `.env`.
If you change ports, update `API_BASE_URL` in `Assets/script.js` accordingly.
This section explains how to use StudyFlow effectively from the first login to productivity analysis.
- Create an account or log in securely
- Set your study preferences
- Add subjects you want to focus on
- Create subjects (e.g., Math, Programming, Design)
- Add tasks under each subject
- Define goals to track your progress
- Organize your workflow for focused sessions
- Choose a focus duration (default: 25 minutes)
- Select a subject and optional task
- Start the Pomodoro timer
- Take short or long breaks when prompted
- Paste YouTube links for background focus music
- Upload and play local audio files
- Control volume and playback without interrupting sessions
- Create a distraction-free study atmosphere
- Track total focus time per day, week, and month
- View visual charts to analyze productivity trends
- Identify your most productive subjects
- Improve consistency using data-driven insights
Plan tasks โ Start focus session โ Take breaks โ Review analytics โ Improve tomorrow
StudyFlow is designed to help you build long-term study habits, not just short sessions.
Salah Uddin Kader
Full Stack Developer | UI/UX Designer | Tech Enthusiast
Passionate about building scalable web applications and clean user experiences.
StudyFlow reflects my journey in mastering modern full-stack development.
๐ Always learning โข Always building โข Always improving
Contributions are highly appreciated and help make StudyFlow better for everyone.
- ๐ด Fork the repository
- ๐ฑ Create a feature branch
git checkout -b feature/your-feature-name git commit -m "Add: meaningful feature description" git push origin feature/your-feature-name
This project is licensed under the MIT License, a permissive open-source license that allows you to:
- โ Use the software freely
- โ Modify and adapt it for your needs
- โ Distribute and share it
- โ Use it for personal or commercial projects
As long as the original copyright and license notice are included.
All rights reserved under the MIT License.
โญ Thank you for exploring StudyFlow
Happy Learning โข Happy Building โข Keep Growing