NUM Alert - A work focus aid created for the Hack the Job hackathon

Overview

Contributors: Uladzislau Kaparykha, Amanda Hahn, Nicholas Waller
Hackathon Team Name: N.U.M

General Purpose: The general purpose of this program is to keep workers more on task during their work day. There are 4 categories, "Recurring Alerts", "Timed Alerts", "Restrictions", and "Extras" "Recurring Alerts" are alerts that happen every given period of time. "Timed Alerts" are alerts that happen once a day at a given time "Restrictions" are restrictions you can place on your applications. This will be checked every minute. "Extras" are extras for the program (currently only a COVID case counter)


Setup:

  • Make sure Chromium driver is updated to the version 97.0 or later. To do so:
    1. Open Google Chrome
    2. Click on the 3 dots in the top-right corner of the screen
    3. In the help subsection, click on the About Google Chrome
    4. If the version is not 97.0 onward, click the update button.

  • Install following library dependencies via pip install ___, where ___ are the libraries mentioned below:
    • PyQt5
    • selenium
    • psutil
    • winapps
    • win10toast

To launch the app (assuming you are in the directory containing all the files)

py main.py

Or use your native Python IDE and run the script there (Via either Shift+F10 or pressing the Run Button)


Using Each Aspect:

Recurring Alerts

  • Alert type: The type of alert. If the type of alert wanted is not on the list, press "custom".
  • Frequency Duration: The amount of time, in minutes, that the notification will appear.
  • Custom Message: The message that will appear on the alert.
  • Notification Duration - How long the notification will stay on screen (see the 2nd limitation/restriction) Once the user is happy with all values entered, press "Add Alert" If the user wants to delete the alert, click on the alert to delete and then press the "Delete Selected Alert" button.

    Timed Alerts
  • Alert type, custom message and notification duration are all the same as above.
  • Time to Occur: The time at which the notification will occur. It only checks the second the minute starts (eg checks at 12:00:00, but won't at 12:00:54) Add alert and delete alert are the same as above.

    Restrictions
  • Click on the program that you want to be restricted.
  • Click "add to banned"
  • Click on an in the "banned applications" text box and then "unban selected" to unban the item
  • Once all banned applications are ready, check the "focus mode" box to close the applications every minute.

    Extras
  • COVID-19 Alerts
    • Click on the "Receive COVID case alerts" radio button
    • "Notify every" - How often the notifications will appear
    • "Country" - The country that you will be checking statistics for. Only the top 30 countries, by case count, are listed.
    • Notification Duration - How long the notification will be on screen. The numbers are consistently updated using a webscraper. All information should be accurate and up-to-date. All information comes from https://www.worldometers.info/coronavirus/


Limitations/Restrictions:

  • Windows 10 Exclusive due to how the notifications are processed.
  • Notification duration is limited not only by the input, but by what the limit is in the user settings.
    • In Windows 10, this can be changed in settings -> Ease of Access -> Show notifications for
  • If the installation path does not exist, then the program can not be prevented from being closed.
    • An example program is steam, however steam applications can regularly be closed Depending on the selected programs, unsaved changes will be ignored. The user will not be prompted to save beforehand.
  • Some programs, in their install path, have extra .exe files, such as UnityCrashHandler.exe.
    • If another unrelated app also uses UnityCrashHandler, it will also be closed.
  • Upon adding an item to the "banned" list, it will not automatically be closed. "Focus mode" must be turned on.
  • Restricted programs will only be shut down on a timer of 1 minute to prevent resource hogging. In theory, the program may still be opened.
  • The amount of "notification time" MAY NOT exceed "time". Meaning, you CAN NOT create 2 alerts that happen every minute that each last 59 seconds without breaking the program.
  • The COVID cases runs in headless mode, which has been known to be unreliable.
  • Chrome Version 97.0.4692.71 (the most recent version) is needed.
    • To update, open Google Chrome. Press the 3 buttons in the top right of the screen. Click "help", then "About Google Chrome". The update should automatically start installing if needed.


This project originated on GitLab and was created for the Hack the Job hackathon


Contributions

  • Uladzislau Kaparykha
    • restrict.py
    • RestrictTimer.py
  • Amanda Hahn
    • GUI.ui
    • gui.py
    • main.py
  • Nicholas Waller
    • Alert.py
    • COVIDAlert.py
    • DelayAlert.py
    • TimedAlert.py
    • settings.py
Owner
Amanda Hahn
UoG - Comp Sci 2025
Amanda Hahn
Wordle is fun, so let's ruin it with computers.

ruin-wordle Wordle is fun, so let's ruin it with computers. Metrics This repository assesses two metrics about each algorithm: Success: how many of th

Charles Tapley Hoyt 11 Feb 11, 2022
Reproducible nvim completion framework benchmarks.

Nvim.Bench Reproducible nvim completion framework benchmarks. Runs inside Docker. Fair and balanced Methodology Note: for all "randomness", they are g

i love my dog 14 Nov 20, 2022
ESteg - A simple steganography program for python

ESteg A simple steganography program to embed the contents of a text file into a

Jithin Renji 1 Jan 02, 2022
Set up a sidechain for the XRPL quickly and easily

Sidechain Launch Kit Introduction This directory contains python scripts to tests and explore side chains. This document walks through the steps to se

Xpring Engineering 15 Dec 08, 2022
1 May 12, 2022
Scrapper For Paste.pics

PrntScScrapper Scrapper for Paste.pics If you are bored you can find some random screenshots from prnt.sc Features Saving screenshots Open in Browser

Fareusz 1 Dec 29, 2021
Using graph_nets for pion classification and energy regression. Contributions from LLNL and LBNL

nbdev template Use this template to more easily create your nbdev project. If you are using an older version of this template, and want to upgrade to

3 Nov 23, 2022
Курс "Искусственный интеллект и машинное обучение"

Искусственный интеллект и машинное обучение О курсе Данный репозиторий содержит в себе сопроводительный учебный материал для курса "Искусственный инте

Dmitry Aladin 19 Dec 04, 2022
Personal Assistant Tessa

Personal Assistant Tessa Introducing our all new personal assistant Tessa..... An intelligent virtual assistant (IVA) or intelligent personal assistan

Anusha Joseph 4 Mar 08, 2022
Collection of script & resources for Foundry's Nuke software.

Author: Liam Collod. Collections of scripting stuff I wrote for Foundry's Nuke software. Utilisation You can have a look at the README.md file in each

Liam Collod 1 May 14, 2022
A turtlebot auto controller allows robot to autonomously explore environment.

A turtlebot auto controller allows robot to autonomously explore environment.

Yuliang Zhong 1 Nov 10, 2021
FollowSpot is a comprehensive audition tracking fullstack web application for entertainment industry professionals.

FollowSpot is a comprehensive audition tracking fullstack web application for entertainment industry professionals. This app allows users to store information/media for all of their auditions while a

Jen Brissman 9 Jul 12, 2022
Python library and cli util for https://www.zerochan.net/

Zerochan Library for Zerochan.net with pics parsing and downloader included! Features CLI utility for pics downloading from zerochan.net Library for c

kiriharu 10 Oct 11, 2022
Dockernized ZeroTierOne controller with zero-ui web interface.

docker-zerotier-controller Dockernized ZeroTierOne controller with zero-ui web interface. 中文讨论 Customize ZeroTierOne's controller planets Modify patch

sbilly 209 Jan 04, 2023
TikTok Auto Claimer Made By Aim low!#9999 Leaked By bazooka#0001

Zues Auto Claimer Leaked By bazooka#0001 put proxies in prox.txt put ssid in sid.txt put all users you want to target in user.txt for the login just t

1 Jan 14, 2022
RCCで開催する『バックエンド勉強会』の資料

RCC バックエンド勉強会 開発環境 Python 3.9 Pipenv 使い方 1. インストール pipenv install 2. アプリケーションを起動 pipenv run start 本コマンドを実行するとlocalhost:8000へアクセスできるようになります。 3. テストを実行

Averak 7 Nov 14, 2021
Repo Home WPDrawBot - (Repo, Home, WP) A powerful programmatic 2D drawing application for MacOS X which generates graphics from Python scripts. (graphics, dev, mac)

DrawBot DrawBot is a powerful, free application for macOS that invites you to write Python scripts to generate two-dimensional graphics. The built-in

Frederik Berlaen 342 Dec 27, 2022
WordPress-style shortcodes for Python

Python Shortcodes WordPress-style shortcodes for Python Create and use WordPress-style shortcodes in your Python based app. Example # static output de

Bob 1 Dec 22, 2021
Um jogo para treinar COO em python

WAR DUCK Este joguinho bem simples tem como objetivo treinar um pouquinho de POO com python. Não é nada muito complexo mas da pra se divertir Como rod

Gabriel Jospin 3 Sep 19, 2021
An example of python package

An example of python package Why use packages? It is a good practice to not code the same function twice, and to reuse common code from one python scr

10 Oct 18, 2022