Skip to content

A Pomodoro timer with task management, app & website blocking, and session analytics to boost productivity. Stay focused, track progress, and customize your study experience. πŸš€

Notifications You must be signed in to change notification settings

RishabhRai280/study-timer-pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Study Timer Pro

πŸš€ Introduction

Study Timer Pro is an advanced Pomodoro timer with built-in productivity tools. It helps users manage study sessions, block distractions, and track progress with detailed analytics.


πŸ“Œ Features

βœ… Customizable Timer – Adjustable focus & break durations
βœ… App & Website Blocking – Prevent distractions during study sessions
βœ… Task Management – Built-in to-do list with priority levels
βœ… Session Analytics – Track daily, weekly, and monthly study trends
βœ… Motivation Features – Streaks, quotes, and goal tracking
βœ… Custom Themes & Sounds – Personalize your study environment


πŸ“‚ Project Structure

study-timer-pro/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main.py                   # Main application entry point
β”‚   β”œβ”€β”€ ui/                        # User interface components
β”‚   β”‚   β”œβ”€β”€ main_window.py         # Main window implementation
β”‚   β”‚   β”œβ”€β”€ timer_tab.py           # Timer tab UI
β”‚   β”‚   β”œβ”€β”€ analytics_tab.py       # Analytics tab UI
β”‚   β”‚   β”œβ”€β”€ settings_tab.py        # Settings tab UI
β”‚   β”‚   └── components/            # Reusable UI components
β”‚   β”œβ”€β”€ core/                      # Core functionality
β”‚   β”‚   β”œβ”€β”€ timer.py               # Timer logic
β”‚   β”‚   β”œβ”€β”€ app_blocker.py         # App blocking functionality
β”‚   β”‚   β”œβ”€β”€ website_blocker.py     # Website blocking functionality
β”‚   β”‚   └── statistics.py          # Statistics tracking
β”‚   β”œβ”€β”€ utils/                     # Utility modules
β”‚   β”‚   β”œβ”€β”€ settings.py            # Settings management
β”‚   β”‚   β”œβ”€β”€ notifications.py       # Notification system
β”‚   β”‚   └── sound_manager.py       # Sound management
β”‚   └── resources/                 # Static resources
β”‚       β”œβ”€β”€ sounds/                # Sound files
β”‚       β”œβ”€β”€ images/                # Image resources
β”‚       └── themes/                # Theme definitions
β”œβ”€β”€ docs/                          # Documentation files
β”‚   β”œβ”€β”€ user_guide.md              # User documentation
β”‚   β”œβ”€β”€ developer_guide.md         # Developer documentation
β”‚   └── screenshots/               # UI screenshots
β”œβ”€β”€ tests/                         # Unit tests
β”œβ”€β”€ requirements.txt               # Dependencies list
β”œβ”€β”€ setup.py                       # Installation script
└── README.md                      # Project overview

πŸ›  Installation

πŸ”Ή Install via PyPI

You can install Study Timer Pro directly using pip:

pip install study-timer-pro

Then, run it using:

study-timer-pro

πŸ”Ή Install from Source (Development Setup)

Prerequisites

  • Python 3.8+
  • Tkinter (Usually included with Python)
  • Administrator Privileges (For app & website blocking features)

Development Environment Setup

  1. Clone the repository:

    git clone https://github.com/RishabhRai280/study-timer-pro
    cd study-timer-pro
  2. Create a virtual environment:

    python -m venv venv
    
  3. Activate the virtual environment:

    • Windows: venv\Scripts\activate
    • macOS/Linux: source venv/bin/activate
  4. Install dependencies:

    pip install -e .
    
  5. Run the application:

    python src/main.py
    

🎯 Usage Guide

UI Preview

Timer

  • Set focus and break durations in the Timer Tab
  • Click Start Timer to begin
  • Session progress is visually indicated
  • Notifications alert when a session ends

Analytics

  • Track total study hours
  • View progress graphs (daily, weekly, monthly)
  • Maintain streaks and set goals

Blocking Distractions

  • Add apps & websites to the blocklist
  • The blocker activates automatically during focus sessions

🎹 Keyboard Shortcuts

Shortcut Action
Ctrl + N Start new session
Ctrl + P Pause session
Ctrl + S Stop timer
Ctrl + A Open Analytics tab
Ctrl + Shift + B Toggle blocker

πŸ§ͺ Running Tests

Ensure everything works correctly by running:

pytest tests/

πŸ’‘ Contributing

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature-new-feature
  3. Commit and push your changes
    git commit -m "Added new feature"
    git push origin feature-new-feature
  4. Open a pull request

πŸ›  Support & Feedback

  • Report issues: Open a GitHub issue
  • Feature requests: Submit an issue or PR
  • Contributors: All contributions are welcome! πŸŽ‰

About

A Pomodoro timer with task management, app & website blocking, and session analytics to boost productivity. Stay focused, track progress, and customize your study experience. πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages