dimpak/module-ticket
Laravel module for building a ticketing system. Provides structure and components for creating, managing, and tracking support tickets within a modular app, with configurable workflows and integration points for your existing Laravel project.
Dimpak\ModuleTicket). This aligns well with Laravel’s service provider and package architecture, enabling clean integration without polluting the core application.Ticket, TicketStatus, etc.), requiring a MySQL/PostgreSQL/SQLite setup. Schema migrations are included, simplifying DB integration.Notifiable trait). Customize or extend notification channels (e.g., Slack, SMS) via Laravel’s existing infrastructure.auth, can). May need custom gates/policies for role-based access (e.g., "agent" vs. "customer").Dimpak\ModuleTicket\Services\TicketService) may complicate future upgrades.TicketServiceInterface) to isolate changes.FormRequest or policy bindings).TicketObserver, TicketService)?ticket:list:{user_id}).| Component | Compatibility Notes |
|---|---|
| Laravel Version | Tested on 8.x/9.x; validate 10.x via adapter layer if needed. |
| PHP Version | Requires 8.0+ (check for strict_types=1 usage). |
| Database | MySQL/PostgreSQL/SQLite (test transactions, migrations). |
| Queue Driver | Supports all Laravel queue drivers (prioritize Redis for performance). |
| Notification Channels | Email (default), Slack, SMS (extend via Laravel’s via() method). |
"dimpak/module-ticket": "dev-main"), and publish assets/config (php artisan vendor:publish --provider="Dimpak\ModuleTicket\ModuleTicketServiceProvider").php artisan migrate) and seed initial data (e.g., ticket statuses).Ticket::observe(Dimpak\ModuleTicket\Observers\TicketObserver::class)).Route::resource('tickets', \Dimpak\ModuleTicket\Http\Controllers\TicketController::class)).can('view-ticket', $ticket)).app/Providers/ModuleTicketServiceProvider.php).resources/views/vendor/module-ticket/emails/ticket_created.blade.php).Dimpak\ModuleTicket\Services\TicketService).app/Rules/UniqueTicketReference.php).App\Models\Ticket doesn’t clash with Dimpak\ModuleTicket\Models\Ticket. Use aliases or rename existing models.ticket.created may need adjustment to avoid duplication.How can I help you explore Laravel packages today?