A console-based Java application to track study sessions with file persistence, real-time session tracking, and subject-wise analytics.
- ➕ Add study sessions (hours & minutes)
- ⏱️ Live session tracking (auto-calculated duration)
- 💾 File-based data persistence (
sessions.txt) - 🔍 Search sessions by subject
- ❌ Delete sessions by ID
- 📊 Subject-wise analytics (total time + most studied subject)
- 🔄 Auto-save using multithreading
- Java
- OOP (Object-Oriented Programming)
- File Handling (BufferedReader, BufferedWriter)
- Multithreading
- Collections (ArrayList, HashMap)
StudyTracker/
│
├── Main.java
├── StudySession.java
├── FileManager.java
├── sessions.txt (auto-generated, ignored)
└── .gitignore
javac Main.java StudySession.java FileManager.java
java Main
- Modular design using OOP
- Persistent storage using file handling
- Background auto-save using daemon threads
- Real-time session tracking using system timestamps
- Data aggregation using HashMap
sessions.txtstores all session data locally- File is ignored via
.gitignore - Auto-save runs in background every 10 seconds
Laksh Makkar