Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/parxd/pomoblocker
Productivity app built with Python CustomTkinter
https://github.com/parxd/pomoblocker
Last synced: 2 days ago
JSON representation
Productivity app built with Python CustomTkinter
- Host: GitHub
- URL: https://github.com/parxd/pomoblocker
- Owner: Parxd
- Created: 2022-06-15T01:07:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-12T20:44:36.000Z (almost 2 years ago)
- Last Synced: 2023-03-10T01:36:50.250Z (almost 2 years ago)
- Language: Python
- Homepage:
- Size: 4 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🍅 **PomoBlocker** 🍅
## Project Description
It can be difficult to focus on tasks, especially with websites like YouTube and Twitter a click away. This was the core motivation behind developing Pomoblocker.
PomoBlocker is a Python GUI application built with Tkinter & [CustomTkinter](https://github.com/TomSchimansky/CustomTkinter). This application essentially combines the [Pomodoro productivity technique](https://en.wikipedia.org/wiki/Pomodoro_Technique) with a website blocker. The website blocker works by adding inputted websites to the Windows hosts file.
### Features
Users can...
- set custom Pomodoro times for the three cycles (work period, short break period, long break period)
- block websites during any of these three cycles
- set preferred notification settings that notify them of a cycle ending### Features to implement in the future
- [ ] Ability for users to login to save their custom settings using SQLite
- [ ] Linux/Mac compatability
- [ ] Block applications by editing the Windows registry### Personal challenges
As this was my first personal project, I faced many challenges developing this application. The main challenges included structuring the application (ensuring users "progress" smoothly through the app), user interface, and properly using OOP to organize GUI code/logic. This being said, developing an app from the ground up has helped a lot with my skills in these areas. Some solutions I used to overcome these blocks included hand drawing multiple possible user interfaces, studying existing OOP code behind GUIs, and writing test cases for the app.
### Sample screenshots
- Settings - Add websites to block
- Settings - Set custom times for each cycle