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
Requires
- php: ^8.2 | ^8.3 | ^8.4
- cleaniquecoders/traitify: ^1.0
- illuminate/contracts: ^10.0 | ^11.0 | ^12.0
- spatie/laravel-package-tools: ^1.16
- spatie/ssl-certificate: ^2.6
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
README
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:
- Getting Started - Installation and configuration
- Architecture - How AppPulse works
- Usage Guide - Practical examples
- API Reference - Complete API documentation
- Development - Contributing guidelines
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.