PHPackages                             eugenefvdm/hellopeterwatcher - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. eugenefvdm/hellopeterwatcher

ActiveProject

eugenefvdm/hellopeterwatcher
============================

Hello Peter Watcher

0.10(2mo ago)001[3 issues](https://github.com/eugenefvdm/hellopeterwatcher/issues)MITPHPPHP &gt;=7.4CI passing

Since Jan 27Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/eugenefvdm/hellopeterwatcher)[ Packagist](https://packagist.org/packages/eugenefvdm/hellopeterwatcher)[ RSS](/packages/eugenefvdm-hellopeterwatcher/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (3)Versions (3)Used By (0)

Hello Peter Watcher
===================

[](#hello-peter-watcher)

[![Tests](https://github.com/eugenefvdm/hellopeterwatcher/actions/workflows/tests.yml/badge.svg)](https://github.com/eugenefvdm/hellopeterwatcher/actions/workflows/tests.yml/badge.svg)

Hello Peter Watcher is a PHP application that monitors unreplied reviews at HelloPeter and sends a notification count if there are new ones to BulkSMS, Telegram, or Slack.

Features
--------

[](#features)

- **Fetch Unreplied Reviews**: Connects to the HelloPeter API to retrieve reviews that have not been replied to.
- **Send Notifications**: Uses the BulkSMS, Telegram, and Slack APIs to send notifications about unreplied reviews to specified recipients.
- **Environment Configuration**: Utilizes environment variables for secure configuration management and enabling of services.
- **State Management**: Maintains review state using file based access to prevent duplicate notifications.

Installation
------------

[](#installation)

1. **Clone the Repository**:

    ```
    git clone https://github.com/eugenefvdm/hellopeterwatcher
    cd hellopeterwatcher
    ```
2. **Install Dependencies**:

    ```
    composer install
    ```
3. **Configure Environment Variables**:

    - Copy `.env.example` to `.env`.
    - Fill in your HelloPeter API key, BulkSMS credentials, Telegram bot token and chat ID, or Slack webhook URL in the `.env` file. Enable/disable services that you require.

Usage
-----

[](#usage)

1. **Run the Application**:

    ```
    php index.php
    ```
2. **Functionality**:

    - The application will fetch unreplied reviews from HelloPeter.
    - It will output the count and details of these reviews.
    - If there are unreplied reviews, it will send notifications via SMS, Telegram, and Slack to the recipients specified in the `.env` file.
3. **Set Up a CRON Job**:

    - To automate the process of checking for unreplied reviews and sending notifications, you can set up a CRON job.
    - Open your crontab file by running `crontab -e` in your terminal.
    - Add the following line to schedule the script to run at your desired interval (e.g., every hour): ```
        0 * * * * /usr/bin/php /path/to/your/application/index.php
        ```
    - Replace `/path/to/your/application/` with the actual path to your application directory.
    - Save and exit the crontab editor.

Components
----------

[](#components)

- **HelloPeterClient**: Handles API requests to HelloPeter to fetch unreplied reviews.
- **BulkSMSClient**: Manages sending SMS messages through the BulkSMS API.
- **TelegramClient**: Manages sending notifications through Telegram.
- **SlackClient**: Manages sending notifications through Slack.
- **Debugger**: Provides logging functionality for debugging purposes.
- **StateManager**: Maintains the application state by:
    - Tracking previously notified reviews to prevent duplicate notifications
    - Storing review history in a JSON file for persistence
    - Managing review state transitions (new, notified, replied)
    - Providing methods to query and update review states

About
-----

[](#about)

This application was created by [Vander Host](https://vander.host). We specialise in servers, email &amp; web hosting, and domain registration.

Internet access provided by [Atomic Access](https://atomic.co.za), the top fibre provider in South Africa.

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

###  Health Score

30

—

LowBetter than 65% of packages

Maintenance84

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity25

Early-stage or recently created project

 Bus Factor1

Top contributor holds 94.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~22 days

Total

2

Last Release

80d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/932743c076390240ecdefe58dc5f81b60cb5fe9ed38b3bead0541f640a7bb2a8?d=identicon)[eugenevdm](/maintainers/eugenevdm)

---

Top Contributors

[![eugenefvdm](https://avatars.githubusercontent.com/u/1836436?v=4)](https://github.com/eugenefvdm "eugenefvdm (18 commits)")[![Stormvdm](https://avatars.githubusercontent.com/u/2902720?v=4)](https://github.com/Stormvdm "Stormvdm (1 commits)")

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/eugenefvdm-hellopeterwatcher/health.svg)

```
[![Health](https://phpackages.com/badges/eugenefvdm-hellopeterwatcher/health.svg)](https://phpackages.com/packages/eugenefvdm-hellopeterwatcher)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.6k509.9M17.0k](/packages/laravel-framework)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M255](/packages/laravel-dusk)[laravel/vapor-cli

The Laravel Vapor CLI

31310.7M8](/packages/laravel-vapor-cli)[netflie/whatsapp-cloud-api

The first PHP SDK to send and receive messages using a cloud-hosted version of the WhatsApp Business Platform

640431.7k4](/packages/netflie-whatsapp-cloud-api)[tempest/framework

The PHP framework that gets out of your way.

2.1k23.1k9](/packages/tempest-framework)[blair2004/nexopos

The Free Modern Point Of Sale System build with Laravel, TailwindCSS and Vue.js.

1.2k2.3k](/packages/blair2004-nexopos)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
