alizharb/filament-activity-log

A powerful, feature-rich activity logging solution for FilamentPHP v4 with timeline views, dashboard widgets, and revert actions.

Fund package maintenance!
alizharb

Installs: 12

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 0

Forks: 0

Type:filament-plugin

pkg:composer/alizharb/filament-activity-log

v1.0.1 2025-12-03 11:39 UTC

This package is auto-updated.

Last update: 2025-12-03 11:42:36 UTC


README

Filament Activity Log

License Latest Version on Packagist Total Downloads PHP Version

A powerful, feature-rich activity logging solution for FilamentPHP v4
Seamlessly track, view, and manage user activities with beautiful timelines and insightful dashboards.
Built on spatie/laravel-activitylog

📖 Table of Contents

✨ Features

🎯 Core Functionality

  • 📦 Full Resource Integration - Dedicated resource to browse, filter, and search logs
  • ⏱️ Timeline View - Stunning slide-over timeline to visualize record history
  • 📊 Insightful Widgets - Activity charts and latest activity tables
  • 🔗 Relation Manager - Add activity history to any resource
  • 🎨 Highly Customizable - Configure labels, colors, icons, and visibility
  • 🔐 Role-Based Access - Fully compatible with Filament's authorization
  • 🌍 Dark Mode Support - Beautiful in both light and dark modes

📋 Requirements

Requirement Version Status
PHP 8.2+
Laravel 10+
Filament v4+

Dependencies:

⚡ Installation

Step 1: Install via Composer

composer require alizharb/filament-activity-log

Step 2: Register the Plugin

Add to your AdminPanelProvider:

use AlizHarb\ActivityLog\ActivityLogPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            ActivityLogPlugin::make()
                ->label('Log')
                ->pluralLabel('Logs')
                ->navigationGroup('System'),
        ]);
}

Step 3: Publish Configuration (Optional)

php artisan vendor:publish --tag="filament-activity-log-config"

Step 4: Publish Assets (Optional)

If you need to customize the CSS or other assets:

php artisan vendor:publish --tag="filament-activity-log-styles"

🎯 Quick Start

1. Enable Logging on Models

Ensure your models use the LogsActivity trait:

use Spatie\Activitylog\Traits\LogsActivity;
use Spatie\Activitylog\LogOptions;

class User extends Authenticatable
{
    use LogsActivity;

    public function getActivitylogOptions(): LogOptions
    {
        return LogOptions::defaults()
            ->logAll();
    }
}

2. View Activities

Navigate to the Logs resource in your admin panel to see all tracked activities.

🎯 Core Features

📦 Activity Log Resource

A dedicated resource allows you to manage all activity logs.

Features:

  • Advanced Filtering - Filter by causer, subject, event type, and date
  • Global Search - Search through log descriptions and properties
  • Detailed View - Inspect every detail of an activity log

⏱️ Timeline View

Visualize the history of any record with a beautiful timeline.

Usage: The timeline is available as a table action in the Relation Manager or can be added to any page.

📊 Dashboard Widgets

Activity Chart Widget

Displays a line chart showing activity trends over time.

use AlizHarb\ActivityLog\Widgets\ActivityChartWidget;

public function getWidgets(): array
{
    return [
        ActivityChartWidget::class,
    ];
}

Latest Activity Widget

Shows a list of the most recent activities.

use AlizHarb\ActivityLog\Widgets\LatestActivityWidget;

public function getWidgets(): array
{
    return [
        LatestActivityWidget::class,
    ];
}

🔗 Relation Manager

Add an activity log history table to any of your existing resources (e.g., UserResource).

use AlizHarb\ActivityLog\RelationManagers\ActivitiesRelationManager;

public static function getRelations(): array
{
    return [
        ActivitiesRelationManager::class,
    ];
}

⚙️ Configuration

You can customize almost every aspect of the package via the filament-activity-log.php config file.

Customizing Table Columns

'table' => [
    'columns' => [
        'log_name' => [
            'visible' => true,
            'searchable' => true,
            'sortable' => true,
        ],
        // ...
    ],
],

Customizing Widgets

'widgets' => [
    'activity_chart' => [
        'enabled' => true,
        'days' => 30,
        'fill_color' => 'rgba(16, 185, 129, 0.1)',
        'border_color' => '#10b981',
    ],
    'latest_activity' => [
        'enabled' => true,
        'limit' => 10,
    ],
],

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

Development Setup

# Clone repository
git clone https://github.com/alizharb/filament-activity-log.git

# Install dependencies
composer install

# Run tests
composer test

# Format code
composer format

💖 Sponsor This Project

If this package helps you, consider sponsoring its development:

Sponsor on GitHub

Your support helps maintain and improve this package! 🙏

🐛 Issues & Support

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments