PHPackages                             laravelplus/user-history - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. laravelplus/user-history

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

laravelplus/user-history
========================

A Laravel package for tracking user activities and history

v1.0.1(11mo ago)1417↓83.3%MITBladePHP ^8.1

Since Jun 27Pushed 3w agoCompare

[ Source](https://github.com/LaravelPlus/user-history)[ Packagist](https://packagist.org/packages/laravelplus/user-history)[ RSS](/packages/laravelplus-user-history/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (2)Dependencies (5)Versions (3)Used By (0)

Laravel Plus User History
=========================

[](#laravel-plus-user-history)

A comprehensive Laravel package for tracking user activities and history with advanced features like automatic event recording, detailed analytics, and flexible configuration.

Features
--------

[](#features)

- 🔍 **Automatic Activity Tracking** - Automatically record model events (created, updated, deleted, restored)
- 👤 **User Activity Monitoring** - Track user actions with IP address and user agent
- 📊 **Advanced Analytics** - Built-in statistics, charts, and reporting
- 🎯 **Flexible Filtering** - Filter activities by user, action, date range, and more
- 📱 **API Support** - RESTful API endpoints for integration
- 🎨 **Dashboard Widget** - Ready-to-use dashboard components
- 📤 **Export Functionality** - Export activities to CSV and JSON formats
- 🔔 **Notification System** - Configurable notifications for specific events
- 🧹 **Auto Cleanup** - Automatic cleanup of old activity records
- 🛡️ **Security Features** - IP tracking, user agent logging, and data retention policies

Requirements
------------

[](#requirements)

- PHP 8.1 or higher
- Laravel 10.x, 11.x, or 12.x
- spatie/laravel-permission 5.x or 6.x

Installation
------------

[](#installation)

1. **Install the package via Composer:**

```
composer require laravelplus/user-history
```

2. **Publish the configuration file:**

```
php artisan vendor:publish --provider="LaravelPlus\UserHistory\Providers\UserHistoryServiceProvider"
```

3. **Run the migrations:**

```
php artisan migrate
```

Configuration
-------------

[](#configuration)

The package configuration is located in `config/user-history.php`. Here are the key configuration options:

### Environment Variables

[](#environment-variables)

```
# Enable/disable automatic event recording
USER_HISTORY_AUTO_RECORD=true

# Track IP address
USER_HISTORY_TRACK_IP=true

# Track user agent
USER_HISTORY_TRACK_USER_AGENT=true

# Track model properties/changes
USER_HISTORY_TRACK_PROPERTIES=true

# Activity retention in days (null to disable cleanup)
USER_HISTORY_RETENTION_DAYS=365

# Items per page
USER_HISTORY_PER_PAGE=15

# Dashboard widget settings
USER_HISTORY_DASHBOARD_ENABLED=true
USER_HISTORY_DASHBOARD_LIMIT=10

# Route settings
USER_HISTORY_ROUTES_ENABLED=true
USER_HISTORY_ROUTES_PREFIX=admin/user-history

# API settings
USER_HISTORY_API_ENABLED=true
USER_HISTORY_API_PREFIX=api/user-history

# Notifications
USER_HISTORY_NOTIFICATIONS_ENABLED=false

# Export settings
USER_HISTORY_EXPORT_ENABLED=true
USER_HISTORY_EXPORT_MAX_RECORDS=10000
```

Usage
-----

[](#usage)

### Basic Usage

[](#basic-usage)

1. **Add the trait to your models:**

```
