A Pomodoro Timer Application using Python and Tkinter.
This project aims to develop my skills in: OOP, event-driven programming, UI/UX design, testing and validation, software deployment.
To run the application from a terminal
python -m python_pomodoro.app
Method of time management to help improve productivity:
Development of this app will incorporate the following features.
More details on how the UI will work:
My local environment is installed on a Fedora Linux laptop.
Check Python version:
$ python --version
Python 3.12.5
https://www.geeksforgeeks.org/how-to-install-tkinter-on-linux/
For Fedora users, use the following command:
sudo dnf install python3-tkinter
Verify installation: a pop-up window opened with two buttons appears, showing the current version of Tkinter installed.
python -m tkinter
https://packaging.python.org/en/latest/guides/installing-using-linux-tools/
$ sudo dnf install python3-pip python3-wheel
$ pip --version
pip 23.2.1
https://pipenv.pypa.io/en/latest/index.html
Rationale: Poetry is another Python virtual environment and dependency management tool, however this project is not very big or particularly complex and has minimal dependencies, therefore I have opted to use Pipenv, which I am more familiar with.
$ pip install pipenv --user
$ pipenv --version
pipenv, version 2024.0.1
Create and activate the virtual environment and spawn a shell within it
pipenv shell
Install packages
pipenv install [OPTIONS] [PACKAGES]...
$ coverage run -m pytest
$ coverage report
This then works with Coverage Gutters VS Code extension to view coverage in module's python files.
$ coverage xml
Here are a few Pomodoro apps which I've used for inspiration: