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

v1.0.0 2026-01-26 12:38 UTC

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.

Reverb UI Dashboard

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_events configuration, preventing noisy system pings (like pusher: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_events threshold.

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

License

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