Laravel Ticket System and Helpdesk. Easily integrate a ticket system into your laravel project. Works with default Laravel Auth and User system.
MIT License
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.
First Make sure you have got this Laravel setup working:
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.