A Python application that uses Tkinter to display a countdown timer, helping you manage your time and productivity. The application keeps track of the time you have accumulated on the current day and the last days you have worked. It also includes a daily goal that can be set by the user. The daily worked hours are all saved in a .csv file. In the future I will add some plots to check your worked hours in a cool way!
- Countdown timer with configurable time period
- Displays time accumulated today and on the last day worked
- Shows progress toward the daily goal
- Settings to configure countdown and daily goal times
- CSV and JSON storage for timer history and settings
- Python 3.x
- Tkinter
- Pandas
- winsound
- datetime
- json
- re
To install all the required packages, run the following command:
pip install pandas
Note: Tkinter comes pre-installed with Python, and the other dependencies are part of Python's standard library. Using pandas is an overkill, maybe in the future I can change it.
-
Clone the repository:
git clone https://github.com/YOUR_GITHUB_USERNAME/CountdownTimer.git
-
Navigate into the project directory:
cd CountdownTimer
-
Make sure you have Python installed and run:
python main.py
- Start Button: To start the timer.
- Pause Button: To pause the timer. The application will also update the accumulated time and progress bar.
- Reset Button: To reset the timer to its initial state.
- Settings Button: To open settings where you can set the daily goal and countdown time.
You can configure the daily goal and countdown time period in the settings window.
- Daily Goal: Set your daily goal in
HH:MM
format. - Countdown Time: Set the countdown time in
MM:SS
format.
Note: The max values allowed for each entry are 0-99:0-59.
The application uses a config.json
file to save the countdown and daily goal times. Additionally, a records.csv
file stores the record of the time accumulated.
Feel free to fork the project and submit a pull request with your changes!
This project is licensed under the MIT License - see the LICENSE.md file for details.
Built with ❤️ by Joaquín Amigó Vega