Download the PHP package dhruvilnagar/laravel-action-engine without Composer
On this page you can find all versions of the php package dhruvilnagar/laravel-action-engine. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download dhruvilnagar/laravel-action-engine
More information about dhruvilnagar/laravel-action-engine
Files in dhruvilnagar/laravel-action-engine
Package laravel-action-engine
Short Description A powerful Laravel package for managing bulk operations with queue support, progress tracking, undo functionality, scheduled execution, and comprehensive audit trails.
License MIT
Homepage https://github.com/dhruvilnagar/laravel-action-engine
Informations about the package laravel-action-engine
Laravel Action Engine
A powerful, framework-agnostic Laravel package for managing bulk operations with queue support, progress tracking, undo functionality, and scheduled execution.
โจ Features
- ๐ Fluent API - Simple, readable syntax with method chaining
- ๐ฆ Queue Integration - Automatic batching for large datasets with configurable batch sizes
- ๐ Progress Tracking - Real-time progress updates via polling or WebSocket
- โฉ๏ธ Undo Functionality - Time-limited undo with full record snapshots
- ๐ Scheduled Actions - Defer execution to a specific time
- ๐๏ธ Dry Run Mode - Preview what will happen without executing
- ๐ Action Chaining - Execute multiple actions sequentially
- ๐ Audit Trail - Complete history of all bulk actions
- โก Rate Limiting - Prevent system overload
- ๐ค Export Integration - Export results to CSV/Excel/PDF
- ๐ Authorization - Policy-based authorization support
- ๐จ Multiple Frontend Integrations - Livewire, Vue, React, Blade, Filament, Alpine.js
๐ Requirements
- PHP 8.1 or higher
- Laravel 10.x or 11.x
๐ฆ Installation
Install via Composer:
Run the interactive installer:
The installer will ask you:
- Which frontend stack(s) you're using (Livewire, Vue, React, Blade, Filament, Alpine.js)
- Whether you need real-time progress updates via WebSocket
- If yes, which broadcast driver you're using
๐ Quick Start
Basic Usage
Using Specific IDs
Bulk Update
Dry Run (Preview)
Scheduled Execution
Synchronous Execution
๐ง Configuration
After installation, the configuration file is at config/action-engine.php:
๐ Registering Custom Actions
Register custom actions in your AppServiceProvider:
Creating an Action Class
๐จ Frontend Integrations
Livewire
Vue.js
React
Filament
Alpine.js
๐ API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/bulk-actions |
List user's bulk actions |
| POST | /api/bulk-actions |
Execute a bulk action |
| GET | /api/bulk-actions/{uuid} |
Get execution details |
| POST | /api/bulk-actions/{uuid}/cancel |
Cancel an action |
| GET | /api/bulk-actions/{uuid}/progress |
Get progress |
| POST | /api/bulk-actions/{uuid}/undo |
Undo an action |
| POST | /api/bulk-actions/preview |
Preview (dry run) |
| GET | /api/bulk-actions/actions |
List available actions |
๐ Using the HasBulkActions Trait
Add the trait to your models for convenient bulk action methods:
๐ก Real-time Progress (WebSocket)
Enable broadcasting in config:
Listen to events in JavaScript:
๐ ๏ธ Console Commands
๐งช Testing
๐ License
The MIT License (MIT). Please see License File for more information.
๐ค Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
All versions of laravel-action-engine with dependencies
illuminate/contracts Version ^10.0|^11.0|^12.0
illuminate/database Version ^10.0|^11.0|^12.0
illuminate/queue Version ^10.0|^11.0|^12.0
illuminate/support Version ^10.0|^11.0|^12.0
illuminate/events Version ^10.0|^11.0|^12.0
illuminate/http Version ^10.0|^11.0|^12.0
illuminate/routing Version ^10.0|^11.0|^12.0
illuminate/console Version ^10.0|^11.0|^12.0