@Dhanush_Mundra on APP BLOCKER (macOS)
Finally!!! This is my first app, Multi-App-Blocker!!!
So there would be two sections abut this project- What is this and How did I make this app.
So let’s start with the first section:-
What is this?
So, this an application that only runs on macOS which blocks apps according to the time schedule set by the user. The app shows all the downloaded applications on the sysem in the dropdown list from where the user can select the app. When the user selects the app they want to block, the user need to enter the start time and the end time. After that the user gets the option of select the type of schedule. So there are four options to select the type of schedule, that are- Every Day; Today Only; Specific Days; Specific Date. So, here the user can select the type according to their needs. Another exciting feature of my app is that the user can set multiple schedules for a single app. However the condition is that the other schedules should not overlap or should be the same as the previous schedules. After this when the schedule has been checked by the app, the app starts to monitor the schedule. When the current time matches the schedule time, the app is blocked. Also, if you restart your system after setting the schedule, your app would be blocked then also within 3-5 minutes if you want the app to be instantly blocked after restarting the system otherwise normally, the app is immediately blocked depending on the speed of your system. Also, at last, another feature of this app is that you can delete, edit and disable or enable your scheudules. Like this, you can set as many schedules for as many apps you want.
So, this was about how my App Blocker works. Now let’s move to the next section which is:-
How did I make this app?
So, I started making this project by building the time tracker of my app. When I completed making he time tracker, I learn about the processes of apps, PIDs(Process Identifier) and the terminal commands like mdfind and many libraries such as datetime, psutil, subprocess, pathlib, json etc. So, by combining all these I made a simple terminal working program that would block a single app for a particular period of time. After this, I thought of making a GUI using HTML and CSS and making the GUI functional using JavaScript. So, I wrote the code of HTML and CSS by myself and also learnt a bit of JavaScript to make the GUI functional. By now my GUI was ready and the backend for a single app blocker was also ready but were not connected. And then I got to know about Electron. So I explored about electron ad decided to use it for my app. Then I connected my GUI using Electron to my Python backend using some more JavaScript code. Now, it started to feel more like an app, But I wanted multi app blocker so I wrote the code for it also and added the features of multiple schedules, edit, delete, disable and enable, and schedule types. After all this, it was like, I built an app, but this so called app was not working after I restarted my mac. And just because of this, I needed to work 5 more days to figure out the solution. And when I got the solution. I did the final test. However, after restarting it takes around 3-5 minutes to block the app but it does block the app. Now, I can declare it a professional, working, Multi-App-Blocker.
Note: This application is only for macOS.
And you can download the .dmg file from the try project link
below.
Thank You so much for reading it till here.
- 15 devlogs
- 63h