cleaniquecoders/app-pulse

AppPulse provide a comprehensive, easy-to-use monitoring tool with uptime tracking, SSL certificate checks, and customisable notifications.

Fund package maintenance!
Cleanique Coders

Installs: 7

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 1

Forks: 0

Open Issues: 1

pkg:composer/cleaniquecoders/app-pulse

1.1.0 2025-05-01 09:55 UTC

This package is auto-updated.

Last update: 2025-11-15 23:24:50 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

AppPulse

A comprehensive Laravel package for monitoring website uptime and SSL certificates with event-driven notifications.

Features

  • Uptime Monitoring - Track website availability and response times
  • SSL Certificate Validation - Monitor certificate expiration
  • Event-Driven Notifications - React to status changes
  • Queue-Based Processing - Efficient background monitoring
  • Historical Data - Store and analyze monitoring results
  • Polymorphic Relationships - Monitor any model in your application

Requirements

  • PHP 8.2, 8.3, or 8.4
  • Laravel 10.x, 11.x, or 12.x

Installation

Install via Composer:

composer require cleaniquecoders/app-pulse

Publish configuration and migrations:

php artisan vendor:publish --tag="app-pulse-config"
php artisan vendor:publish --tag="app-pulse-migrations"
php artisan migrate

Set up Laravel scheduler by adding to your crontab:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

Quick Start

Create a monitor:

use CleaniqueCoders\AppPulse\Models\Monitor;

$monitor = Monitor::create([
    'owner_type' => \App\Models\User::class,
    'owner_id' => auth()->id(),
    'url' => 'https://example.com',
    'interval' => 10, // Check every 10 minutes
    'ssl_check' => true,
]);

Run checks manually:

php artisan monitor:check-status

Listen to events:

// In EventServiceProvider
protected $listen = [
    \CleaniqueCoders\AppPulse\Events\MonitorUptimeChanged::class => [
        \App\Listeners\SendUptimeAlert::class,
    ],
    \CleaniqueCoders\AppPulse\Events\SslStatusChanged::class => [
        \App\Listeners\SendSslAlert::class,
    ],
];

Documentation

For complete documentation, visit the docs directory:

Testing

composer test

Changelog

See CHANGELOG for recent changes.

Contributing

Please see CONTRIBUTING for details.

Security

For security concerns, review our security policy.

Credits

License

The MIT License (MIT). Please see License File for more information.