/Watchdog

WatchDog (看門狗) An open-source Desktop Application built with NativePHP, utilizing Spatie's Laravel Uptime Monitor for robust, real-time website tracking. It simplifies uptime monitoring, providing alerts.

Primary LanguagePHP

About Solution Forest

Solution Forest Web development agency based in Hong Kong. We help customers to solve their problems. We Love Open Soruces.

We have built a collection of best-in-class products:

Watchdog (看門狗) - NativePHP Website Monitor (Desktop Application)

Welcome to the NativePHP Website Monitor, an open-source tool designed to help developers and system administrators keep track of the uptime and performance of their websites. This project is built using NativePHP and utilizes the Spatie Laravel Uptime Monitor package for robust monitoring capabilities.

Features

  • Real-time Monitoring: Continuous monitoring of website uptime.
  • Alert System: Notifications for downtime and performance issues.
  • Easy Configuration: Simple setup process and easy to manage.

Wishlist

  • Status Code Validation: Ensure that monitored websites return a correct HTTP status code of 200, indicating that the site is not only up but also operational.
  • Content Validation: Check for specific keywords or phrases on the webpage to confirm that the correct content is being served.
  • Performance Benchmarking: Track and report on the loading times and responsiveness of the monitored sites, allowing for performance optimization.
  • API Monitoring: Extend monitoring capabilities to include RESTful APIs, ensuring that APIs respond correctly in both data and performance.
  • Extended Notification Options: Expand the alert system to include more customizable options such as SMS alerts, integration with Slack, or other real-time communication tools.

Getting Started

Prerequisites

Before you install the NativePHP Website Monitor, make sure you have the following installed on your system:

  • PHP 8.2 or higher
  • Composer
  • NPM

Installation

  1. Clone the repository:
    git clone https://github.com/solutionforest/Watchdog.git
  2. Navigate to the project directory:
    cd Watchdog
  3. Install dependencies:
    cp .env.example .env
    composer install
    php artisan key:generate
    php artisan native:install

Configuration

Edit the config/uptime-monitor.php file to set up your monitoring preferences and add the websites you want to monitor.

https://spatie.be/docs/laravel-uptime-monitor/v3/advanced-usage/customizing-the-uptime-check

Usage

Run the monitoring script to start monitoring your websites:

php artisan native:serve

Contributing

We welcome contributions from the community. Whether you're fixing bugs, adding new features, or improving the documentation, here is how you can contribute:

  1. Fork the repository and clone it locally.
  2. Create a new branch for your edits.
  3. Commit your changes with a descriptive message.
  4. Push your branch and submit a pull request.

Please read CONTRIBUTING.md for detailed information on how to contribute.

Screenshot

image image

License

This project is open source and available under the MIT License.

Acknowledgments

  • This project uses NativePHP for some of its core functionality.
  • This project uses Spatie Laravel Uptime Monitor for some of its core functionality.
  • Thanks to all the contributors who spend time improving this tool.

For more information, questions, or feedback, please contact us via the issues section of this repository.