Skip to content

AidenHogan/Study-Tracker

Repository files navigation

Study Tracker

A detailed study/time tracker with various data visualizations

Focus & Wellness Tracker

A desktop application designed to help track study sessions and explore correlations between focus habits and personal wellness data, such as sleep quality and duration.

About The Project

This project was conceived as a tool to gain better insights into personal productivity. It allows a user to time their study sessions, tag them by subject, and view detailed analytics on their work habits. Furthermore, it integrates health data imported from Garmin Connect to visualize potential connections between sleep quality and study performance.

AI Use Disclaimer

This project was developed in collaboration with Google's AI, Gemini. The concept, feature requirements, and debugging direction were provided by Aiden Hogan. The Python code, including the application structure, UI layout, data processing, and plotting logic, was generated by Gemini. This README serves to maintain transparency about the AI-assisted development process.

Key Features

Session Timer: A simple stopwatch to time study sessions with subject tagging. Manual Entry: Manually add or edit past study sessions with notes. Dashboard: An at-a-glance view of today's focus, weekly totals, lifetime stats, and study streaks. Productivity Calendar: A heatmap-style calendar that visualizes which days you studied and the subjects covered (color display). In-Depth Analytics: * Breakdown of time spent per subject (Pie Chart). * Productivity trends by day, hour, and day of the week (Bar Charts). Health Correlation: * Import sleep and wellness data from a Garmin Connect CSV export, or manually track and enter sleep duration. * Visualize relationships between study time and metrics like Sleep Score, Sleep Duration, and various Garmin data. Data Management: * Create and manage custom tags with unique colors. * Ability to export all session and health data to CSV files for further analysis.

Technologies Used

Python CustomTkinter: For the graphical user interface (GUI). Pandas: For data manipulation and analysis. Matplotlib: For creating charts and plots. SQLite: For the local database. PyInstaller: For packaging the application into an executable.

Getting Started

Executable Version (Recommended)

The easiest way to use the application is to download the Focus_Tracker.exe file from the latest Releases page on this repository. No installation is needed.

Running from Source

If you wish to run the project from its source code:

  1. Clone the repository:
    git clone https://github.com/AidenHogan/Study-Tracker.git
    cd Study-Tracker
  2. Create and activate a virtual environment:
    # Create the environment
    python -m venv .venv
      
    # Activate on Windows
    .venv\Scripts\activate
      
    # Activate on macOS/Linux  NOTE: Only Windows is currently supported
    source .venv/bin/activate
  3. Install the required packages:
    pip install -r requirements.txt
  4. Run the application:
    python main_app.py

Author

  • Aiden Hogan - Concept, Direction, and Debugging

Notes and next steps before an official release:

  • OAuth1 runtime: To populate hydration and intensity automatically, sign in via the app menu and then run the Garmin sync. Accounts with 2FA may require a browser-based flow. If a CLI helper turns out to be preferable, see the core/garmin_downloader module.
  • Additional persistence: The codebase prepares for storing more Garmin Daily* stats; potentially add the dedicated garmin_daily_stats table (or extra columns).
  • Tests & docs: Unit tests and README sections for migrations and importer behavior will be added in a follow-up commit.

About

A detailed study tracker with various data visualizations

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages