WatchDog - Product Monitor 🐶
A simple Go application designed to monitor product listings from certain URLs and display the results in a window using the Fyne GUI framework. Currently in Slovak language only. Its possible to create apk file for Android devices.
Table of Contents
Features
- Product Monitoring: Watches specific URLs for product availability.
- GUI Display: Uses the Fyne framework to display results in a clean user interface.
- Clickable Links: Any product links in the results are clickable.
- Refresh Capability: Can manually refresh results or set to auto-refresh every 1 minute.
- Notifications: Notifies the user if a new product appears upon refreshing.
Requirements
- Go (at least version 1.19).
- Fyne for GUI.
- Logrus for enhanced logging capabilities.
Installation
- Ensure Go is installed.
- Clone the repository.
git clone https://github.com/serstuk93/heur-watchdog.git
- Navigate to the repository directory and run:
go get fyne.io/fyne/v2
go get github.com/sirupsen/logrus
- Run the program
go run .
-
Compile Apk file for Android device
- install mingw-w64-x86_64-toolchain
- set path inside mingw
echo "export PATH=\$PATH:/c/Program\ Files/Go/bin:~/Go/bin" >> ~/.bashrc
- verify env variables by typing commands:
go version
gcc--version
fyne
echo $ANDROID_NDK_HOME
echo $ANDROID_HOME
fyne package -os android -appID com.serstuk93.watchdog -icon icon.png
- copy and install apk to your android device or run it virtually via Android Studio
How It Works
Upon starting, the app fetches products from predefined URLs. The results are then displayed in a Fyne window where each product has its own clickable link. The user has the option to manually refresh the results using the "Refresh" button provided. Additionally, the application has been set to auto-refresh every hour. If there happen to be new products that appear after a refresh, the app will send a desktop notification to alert the user.
Future Enhancements
- Enhancement in the areas of detailed error handling and logging.
- Provision for users to add/edit/delete URLs that they wish to monitor.
Acknowledgements
- A big thank you to Fyne for their exceptional GUI framework.
- Also, appreciation goes to Logrus for their enhanced logging capabilities.
Contributing
If you've got suggestions, improvements, or any other feedback, I encourage you to submit issues or pull requests. Your contribution is highly valued.
License
This work is licensed under a Creative Commons Attribution 4.0 International License.