A robust and flexible Pomodoro Timer to help users with time management. This application includes a graphical user interface for easier interaction and customizable features.
- Customizable session lengths for work and breaks 🕒
- Break reminders with optional sound notifications 🔔
- History of completed sessions 📜
- Task management for each Pomodoro session 📝
- Session statistics 📊
- Frontend: Tkinter (Python standard library)
- Backend: Python
- Libraries:
click
,pygame
,pync
Follow these steps to set up the project locally:
git clone https://github.com/obadaKraishan/PomodoroTimer.git
cd PomodoroTimer
It is recommended to create a virtual environment to manage dependencies.
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts�ctivate`
pip install -r requirements.txt
Start the Pomodoro Timer application by running the following command:
python main.py
pomodoro_timer/
│
├── README.md # Project documentation
├── requirements.txt # List of dependencies
├── setup.py # Setup configuration
├── main.py # Main entry point for the application
│
├── pomodoro/
│ ├── __init__.py
│ ├── config.py # Configuration settings for the timer
│ ├── history.py # Logic for handling session history
│ ├── timer.py # Core timer functionality
│ ├── gui.py # Graphical User Interface logic
│
├── tests/
│ ├── __init__.py
│ ├── test_config.py # Tests for configuration settings
│ ├── test_history.py # Tests for session history
│ ├── test_timer.py # Tests for timer functionality
│
└── utils/
├── __init__.py
├── logger.py # Logging functionality
├── notifier.py # Notification functionality
└── alarm_sound.mp3 # Default alarm sound (if any)
Customize the GUI elements in gui.py
to fit your needs.
Modify the timer parameters in config.py
or use the GUI to change the input and output paths, as well as the theme.
This project is developed by Obada Kraishan. If you have any questions or need further information, feel free to contact me at [email protected].
This project is licensed under the MIT License - see the LICENSE file for details.