heur-watchdog

command module
v0.0.0-...-60fe05a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2023 License: CC-BY-4.0 Imports: 18 Imported by: 0

README

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.

Screenshot

Table of Contents

Features

  1. Product Monitoring: Watches specific URLs for product availability.
  2. GUI Display: Uses the Fyne framework to display results in a clean user interface.
  3. Clickable Links: Any product links in the results are clickable.
  4. Refresh Capability: Can manually refresh results or set to auto-refresh every 1 minute.
  5. Notifications: Notifies the user if a new product appears upon refreshing.

Requirements

  1. Go (at least version 1.19).
  2. Fyne for GUI.
  3. Logrus for enhanced logging capabilities.

Installation

  1. Ensure Go is installed.
  2. Clone the repository.
git clone https://github.com/serstuk93/heur-watchdog.git
  1. Navigate to the repository directory and run:
go get fyne.io/fyne/v2
go get github.com/sirupsen/logrus
  1. Run the program
go run .
  1. 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
    
    • compile apk
    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

  1. Enhancement in the areas of detailed error handling and logging.
  2. 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.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL