Please access this repo through Link
StudyFlow is a web application designed to help students track and improve their study habits. The app allows users to record study sessions, organize them by subject, and view visual summaries of their productivity. Its goal is to provide a simple and motivating tool that works like a smartphone screen-time dashboard, but specifically for studying.
The main feature of StudyFlow is a built-in study timer. Users can select a subject, such as Math, Computer Science, or Economics, and start a timer when they begin studying. The timer supports two modes: a free-running stopwatch and a Pomodoro-style countdown timer with preset or customizable intervals. When a study session ends, the time studied is automatically saved in the app.
The dashboard provides an overview of study activity using interactive charts and statistics. Users can see their total study time for the day, how much time they spent on each subject, and weekly trends that show their overall progress. These charts allow them to hover or click to explore more detailed information about specific subjects or days.
StudyFlow includes a subject manager where users can add, edit, reorder, or delete subjects and assign custom colors to them.
A session history page stores all past study sessions in a searchable and filterable table, allowing users to edit notes, adjust session times, or delete entries if needed.
After each session, users are prompted to rate their focus on a scale from 1 to 5. These ratings are used to track productivity trends over time. The app also allows users to set daily or weekly study goals and receive notifications when those goals are reached.
- Achievement badges
- Study streak tracking
- Calendar heatmap that displays daily study activity
- Frontend: React with functional components and hooks
- Routing: React Router
- Data Visualization: Recharts
- Storage: localStorage for storing user data
- Backend: Firebase (Firestore for data persistence)
- Deployment: GitHub Pages
TODO