A beautiful and personalized π Study Progress Dashboard built using Streamlit with secure authentication. Designed for students preparing for any exam β to track daily goals, visualize subject-wise progress, and maintain consistency using real data, session-wise scheduling, and performance metrics.
π LIVE APP!
- π Login & Registration using SQLite (
users.db) withstreamlit_authenticator - π Auto-Traced Study Sessions with date-driven scheduling
- β Checkbox Grid to mark each session as done
- π Subject-Wise Progress with donut & bar charts
- β³ Backlog Tracker for missed subjects
- π Auto-Rerun Logic before session starts
- π§ Per-user JSON Save State for progress
- π§Ύ Daily Completion Table with tick marks
- π Reset Button to start over anytime
π study-tracker/
βββ study\_tracker\_final.py # Streamlit main app
βββ auth\_db.py # SQLite-based authentication
βββ users.db # Registered users stored here
βββ \*.json # User progress files (per user)
βββ credentials.yaml # (Optional) legacy credentials
βββ Study\_Plan\_Schedule.csv # Timetable (days Γ session slots)
βββ Subject\_Study\_Time\_Table.csv # Subjects with video hours
βββ requirements.txt # Python dependencies
βββ README.md # You're reading it π
git clone https://github.com/MohitGupta0123/Study_Tracker.git
cd Study_Trackerpip install -r requirements.txtstreamlit run study_tracker_final.py --server.port 8501- Frontend: Streamlit
- Auth:
streamlit_authenticator+ SQLite (users.db) - Charts: Matplotlib
- Data Processing: Pandas, JSON
- Storage: CSV files for study data, JSON for user progress
| File | Description |
|---|---|
Study_Plan_Schedule.csv |
Weekly plan (Day-wise Γ Sessions) |
Subject_Study_Time_Table.csv |
Subjects with total video hours |
<username>_progress.json |
Per-user saved checkbox state |
- Auto-detects what you need to study today based on the real calendar
- Reruns app 5 mins before session start to alert you
- Tick off what youβve studied; persists even after reload
- See your completion % for each subject
- Automatically shows what you've missed in previous days
- Frequency of time slots used across your plan
- β Checkbox table for sessions per day
- π Bar chart for session frequency
- π‘ Today's plan
- π΄ Backlogs
- π Dynamic live clock
- π Donut & pie charts showing progress distribution
- Uses SQLite-based DB (
users.db) for login/signup - Passwords are hashed using
streamlit_authenticator - Each user has their own progress file (
<username>_progress.json)
- Thanks to
streamlit_authenticatorfor easy auth integration - Inspired by real preparation needs of students
- Created with π using Python and Streamlit
If this helped you stay productive and consistent, please βοΈ this repo and share it with your peers!