muhammadsadeeq/laravel-activitylog-ui
Modern UI for Spatie laravel-activitylog: table, timeline and analytics dashboards with powerful filters, saved views, exports (CSV/Excel/PDF/JSON), caching for fast counts/pagination, and authorization controls. Tailwind + Alpine, no build step.
laravel-activitylog), making it a non-disruptive addition to any Laravel app already using Spatie’s core logging. It does not replace the logging mechanism but enhances observability.cache:tags).spatie/laravel-activitylog (v5+). If the app isn’t already logging activities, this package cannot be adopted in isolation.activity_log table with Spatie v5’s schema (includes attribute_changes column). Backward compatibility is limited; v1.x users must migrate to v5.maatwebsite/excel, barryvdh/laravel-dompdf), but gracefully falls back to CSV/JSON.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Spatie v5 Migration | High | Requires activity_log table schema updates. Test migration in staging first. |
| PHP 8.4+ Requirement | Medium | Upgrade path may block legacy apps; assess compatibility early. |
| Frontend Dependencies | Low | Alpine.js/Tailwind are lightweight; no build step reduces risk. |
| Export Performance | Medium | Large exports (queued) may strain queues; monitor exports.queue.threshold. |
| Legacy Data Issues | Medium | v2.0+ includes fallbacks for unmigrated properties data, but test thoroughly. |
| Caching Overhead | Low | Analytics caching is configurable (analytics.cache_duration). |
activity_log schema?
UPGRADING.md).maatwebsite/excel, barryvdh/laravel-dompdf).authorization.enabled, access.allowed_users, or custom gates.max_records) or query optimization.analytics.cache_duration) can be adjusted for freshness vs. performance.id instead of created_at) reduce load times.activity_log table with v5 schema (includes attribute_changes).spatie/laravel-activitylog is installed (≥v5).php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-migrations"
php artisan migrate
composer require muhammadsadeeq/laravel-activitylog-ui
php artisan vendor:publish --tag="activitylog-ui-config"php artisan vendor:publish --tag="activitylog-ui-views"php artisan vendor:publish --tag="activitylog-ui-assets"config/activitylog-ui.php for routes, auth, and features.'features' => ['analytics' => true],
'authorization' => ['enabled' => true, 'gate' => 'viewActivityLogUi'],
/activitylog-ui and verify:
composer require maatwebsite/excel barryvdh/laravel-dompdf
config/activitylog-ui.php:
'exports' => [
'queue' => ['enabled' => true, 'threshold' => 1000],
]
activity_log data compatibility.max_records or pagination if needed.muhammadsadeeq/laravel-activitylog-ui (MIT license).maatwebsite/excel, barryvdh/laravel-dompdf (separate licenses).UPGRADING.md.properties if attribute_changes missing).max_records config).id, not created_at).activity_log query execution plans.exports.queue.enabled) distribute load for large exports.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Database connection issues | UI unavailable | Laravel’s default retry logic. |
| Auth misconfiguration | Unauthorized access | Test gates/roles in staging. |
| Large export timeouts | Slow responses | Enable queued exports. |
| Schema mismatch | Data display errors | Validate activity_log schema. |
| Frontend JS errors | Broken UI |
How can I help you explore Laravel packages today?