techies-africa / laravel-reverb-ui
A premium real-time telemetry dashboard for Laravel Reverb.
Installs: 139
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:Blade
pkg:composer/techies-africa/laravel-reverb-ui
Requires
- php: ^8.2
- laravel/framework: ^11.0|^12.0
- laravel/reverb: ^1.0
Requires (Dev)
- orchestra/testbench: ^9.0
- phpunit/phpunit: ^10.0
This package is not auto-updated.
Last update: 2026-01-27 11:17:22 UTC
README
A premium real-time telemetry dashboard for Laravel Reverb. Monitor your WebSocket traffic, analyze event payloads, and track connections with ease.
Features
- Real-time Event Stream: Watch events as they flow through your Reverb server.
- Visual Analytics Engine: Real-time line charts for traffic influx and distribution pie charts for events and channels.
- Advanced Filtering: Surgical filtering by payload keywords, event name, channel, or specific date ranges.
- Payload Inspection: Deep-diff payload viewer with syntax highlighting and easy-copy functionality.
- Scalable Telemetry: Intelligent "Global Guard" to ignore noisy system events and auto-pruning logic.
- CLI Management: Robust console commands for manual data pruning and maintenance.
- Multi-DB Support: High-performance views optimized for both MySQL and PostgreSQL.
- Enterprise Security: Protected by Laravel Gates and customizable middleware stacks.
Installation
You can install the package via composer:
composer require techies-africa/laravel-reverb-ui
1. Run the Installer
Execute the combined setup command to publish configuration, assets, and run database migrations automatically:
php artisan reverb-ui:install
2. Authentication
Define who can access the Reverb UI in your AuthServiceProvider.php (or AppServiceProvider.php):
use Illuminate\Support\Facades\Gate; public function boot() { Gate::define('viewReverbUI', function ($user) { return in_array($user->email, [ 'admin@example.com', ]); }); }
Configuration
The configuration file is located at config/reverb-ui.php. You can customize the route path, middleware, and performance settings:
return [ 'path' => 'reverb-ui', 'middleware' => ['web', 'auth'], // Auto-prune old events to save database space 'max_events' => 1000, // Ignore noisy system events 'ignored_events' => [ 'pusher:ping', 'pusher:pong', ], ];
Console Commands
The package provides a powerful command to manually manage your telemetry data:
# Delete all data php artisan reverb-ui:prune --all # Prune by date range php artisan reverb-ui:prune --from="2024-01-01 00:00:00" --to="2024-01-02 23:59:59" # Prune specific channel or event php artisan reverb-ui:prune --channel="orders" php artisan reverb-ui:prune --event="App\Events\OrderPlaced" # Force delete without confirmation php artisan reverb-ui:prune --all --force
Technical Architecture
Under the hood, Reverb UI is designed for industrial-scale telemetry with a performance-first mindset:
- Polymorphic Metadata Store: Database-agnostic persistence supporting MySQL and PostgreSQL with optimized JSON indexing for rapid payload searches across millions of events.
- The "Global Guard" Interceptor: Intelligent listener logic that respects the
ignored_eventsconfiguration, preventing noisy system pings (likepusher:ping) from bloating your storage. - Visual Analytics Engine: Powered by a real-time charting engine that visualizes message influx and event distribution with ultra-low overhead.
- Auto-Pruning Engine: Background tasks ensure your database stays lean by automatically enforcing the
max_eventsthreshold.
Performance Note
This package listens to Reverb's internal events and persists them to your database. For extremely high-throughput applications, you may want to customize ignored_events to reduce database overhead.
Testing
composer test
Credits
- Author: Confidence Ugolo
- Organization: Techies Africa
License
The MIT License (MIT). Please see License File for more information.
