Site connectivity checker
Desktop application for checking site connection in a background mode by sending ICMP messages.
Problem and solution
Usually, when people need some site to interact with and it crashes, they update the page many times to check whether the site is available or not. Instead of this, we propose the desktop app which will ping the site every minute by sending ICMP messages in a background mode. When the site becomes available the app will send notification with site link to the user.
Prerequirements
- Python3
- Python libraries from requirements.txt
Getting started guide
- From Site-connectivity-checker repository download all the documents to your local project
- From the project directory write in command line/terminal
pip install -r requirements.txt
to install all the required libraries - From the project directory write in command line/terminal
python3 ./main.py
orpython main.py
to run the app
Glossary
Name | Description |
---|---|
Ping | an ICMP message to the site server |
Pinger/Checker | a program that sends ICMP messages to the site server |
Notification | a short window that activates when the site is available |
Site links storage | a local database to store the site links |
Checklist/Data | a window with site links storage |
Request processing system | a system that gets request from the user and depending on that sends this request to the data storage or to the pinger |
How to use
- After starting app execution you should add sites, which you often visit, to the checklist.
- When some of these sites crashes start pinging it.
- As soon as the site is available again the app will stop pinging it and send you notification with a link.
- If the app is pinging the site, but you are not interested in this site anymore, just stop pinging.
- You can also see the checklist of sites, add new sites and delete old ones whenever you want.
- Stop app execution if there is no need in that.
Features
add
to add the site to checklist of sitesdelete
to delete the site from checklist of siteson
to start pinging the site untill it will be availableoff
to stop pinging the site if you are not interested anymore in this sitechecklist
to see the checklist of sitesquit
to stop the app
Architecture decisions
We decided to use observer pattern as it perfectly suits to our solution: an object (pinger) maintains dependent (user), called observer, and automatically notifies it about any changes (sites' availability) using special methods (sending notifications).
Authors
Evgeniy Lutanin, Karina Singatullina,
Innopolis University, AAI