A simple helpdesk ticketing system for Laravel 5.1+ (5.1 – 5.8 and 6.* - 7.* - 8.* - 9.* - 10.*) which integrates smoothly with Laravel default users and auth system. It will integrate into your current Laravel project within minutes, and you can offer your customers and your team a nice and simple support ticket system.
- Three main users roles users, agents, and admins
- Users can create tickets, keep track of their tickets status, giving comments, and close their own tickets (access permissions are configurable)
- Auto assigning agents to tickets, the system searches for agents in specific department and auto select the agent with lowest queue
- Simple admin panel
- Localization (Arabic, Brazilian Portuguese, Deutsch (German), English, Farsi, French, Hungarian, Italian, Persian, Russian, and Spanish language packs are included)
- Very simple installation and integration process
- Admin dashboard with statistics and performance tracking graphs
- Simple text editor for tickets descriptions and comments allows images upload
First Make sure you have got this Laravel setup working:
- Laravel
- Users table
- Laravel email configuration
- Bootstrap 3, or Bootstrap 4
- Jquery
Dependencies that are getting installed and configured automatically by LaravelTicket (no action required from you)
Step 1. Run this code via your terminal
composer require 'binshops/laravel-ticket'
Step 2. After installing the package, you have to add this line on your config/app.php
in Service Providers section.
Binshops\LaravelTicket\LaravelTicketServiceProvider::class
Step 3. Check if App\Models exists
Step 4. Make sure you have authentication set up. In 5.2+, you can use php artisan make:auth
Step 5. Setting up your master view for LaravelTicket integration
Step 6. Register at least one user into the system and log it in.
Step 7. Go ahead to http://your-project-url/tickets-install to finalize the installation.
Default laravel-ticket front route: http://your-project-url/tickets
Default laravel-ticket admin route: http://your-project-url/tickets-admin
Notes:
Make sure you have created at least one status, one priority, and one category before you start creating tickets.
If you move your installation folder to another path (or server), you need to update the row with slug='routes' in table laravelticketsettings
. After that, don't forget to flush the entire cache.
Laravel Ticket views system is developed to integrate with the current project master view (Laravel Ticket uses Bootstrap framework). The master view file is the main view file that is using "yield" to call header, content, footer sections. It should be located at resources/views (ex. resources/views/layouts/master.blade.php
), open it and make sure it yields for page, content, and footer.
@yield('page') Page section for passing the current page title
<head> ...
<title>My website - @yield('page')</title>
</head>
@yield('content') Content section for the content
<body> ...
@yield('content')
...
</body>
@yield('footer') Footer section for passing the jquery scripts, so make sure it is called after you call the jquery
<body> ...
@yield('content')
...
<script src="/js/jquery.min.js"></script>
..
@yield('footer')
</body>
Here's a quick example of a layout file.