juanrube/ticketit
Ticketit is a simple helpdesk ticket system for Laravel 10–12 that integrates with Laravel auth. Supports users/agents/admins, ticket creation and comments, auto agent assignment by department/queue, admin dashboard with stats, localization, and image uploads.
spatie/laravel-permission or native Laravel gates/policies) to avoid conflicts or redundant logic.events and listeners). This could introduce complexity if the existing system lacks a robust event bus or queue system (e.g., Redis, database queues).tickets, agents, departments). Schema compatibility must be validated with the existing database (e.g., foreign key constraints, indexing, or conflicts with existing users table extensions).agent_department_id) may require extending the User model or creating a many-to-many relationship between users and roles.spatie/laravel-activitylog, laravelista/ckeditor), conflicts or redundancy may arise.Authentication Alignment:
Database Conflicts:
tickets, comments) that could cause naming collisions?Workflow Customization:
Frontend Integration:
Performance:
Localization:
Testing:
Auth facade and User model. Customization may require extending App\Models\User./tickets, /admin/tickets). Integration will require route prefixing or middleware to avoid conflicts.@stack/@push for partials.Ticket, Agent).TicketAssigned) for custom actions.php.ini and Docker/servers meet this requirement.composer require juanrube/ticketit.config/auth.php, User model, and database schema for conflicts.php artisan vendor:publish --provider="Juanrube\Ticketit\TicketitServiceProvider"
php artisan migrate
.env (e.g., TICKETIT_ADMIN_EMAIL, TICKETIT_DEFAULT_DEPARTMENT).User model to include Ticketit’s roles (e.g., hasRole('agent')).Ticketit\Middleware\AgentMiddleware).routes/web.php:
Route::prefix('support')->group(function () {
Route::middleware(['web', 'auth'])->group(function () {
require __DIR__.'/ticketit.php';
});
});
php artisan vendor:publish --tag=ticketit-views
TicketitSeeder.fileinfo, gd (for image uploads), and mbstring are enabled.database, redis) is configured.storage disk. Ensure the host app’s filesystem.php is configured.How can I help you explore Laravel packages today?