BadChoice / handesk

A Powerful Laravel Help Desk and Lead Management App
https://github.com/BadChoice/handesk
MIT License
1.41k stars 394 forks source link
lead php support ticket ticketing

Handesk

Description

Handesk has been created by our need (At Revo Systems www.revo.works) to have a powerful yet simple Ticketing system, we needed a system that allowed us to have multiple teams, with multiple users, easy and efficient reporting by all/team/user as well as lead management.

Landing page: http://handesk.io

Check out the screenshots to see how nice it looks, and feel free to contribute by sending us PRs. We will keep adding features as we need them, but our basic workflow is totally covered :D

Features

Follow us on twitter @codepassionapp to stay tuned

Installation

Its very simple, you just need to follow the standard Laravel installation

git clone https://github.com/BadChoice/handesk.git
cd handesk
composer install
# Setup your .env file to match your desired database
php artisan key:generate

# Purge the cache before running migrations
php artisan config:cache
php artisan config:clear

# Run migrations and seed
php artisan migrate --seed
php artisan storage:link #if you use the local driver

Alternatively, you can use the following docker setup

The default admin user is admin@handesk.io / admin If you want email pulling, you need to enable the imap extension on php (note that on mac the php-cli runs very slow, you need to update your /etc/hosts file

::1         localhost YourMac.local
127.0.0.1   localhost YourMac.local

Open your app/Console/Kernel.php to update the schedulers as you want (comment them if not needed) Add the cron job * * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

Further configuration

Email pulling

Enter your mail credentials in .env

MAIL_FETCH_HOST=pop3.handesk.com
MAIL_FETCH_PORT=110
MAIL_FETCH_USERNAME=hello@handesk.com
MAIL_FETCH_PASSWORD=secret-password

Sidebar

You can toggle the visibility of leads and ideas in the config/handesk.php file.

'leads'    => env('HANDESK_LEADS_ENABLED', true),
'roadmap'  => env('HANDESK_ROADMAP_ENABLED', true),

Mailchimp

Set your mailchimp key in .env MAILCHIMP_API_KEY=448027f3acac5594605be3adf78be862-us15

And enter the relation of tags => list id in config/services.php mailchimp section

Bitbucket

You can create issues directly to your code repository from tickets. You need to setup your credentials in the .env

BITBUCKET_USER=bitbucket-user-if-using-basic-auth
BITBUCKET_PASSWORD=bitbucket-password-if-using-basic-auth

And enter your repositories list in config/issues.php file, filling the repositories field.

You can event update the tickets automatically (adding a private note using bitbucket webhooks). You just need to go to your report webhooks settings and add a new webhook with the url

http://{handesk.io}/webhook/bitbucket

You just need to check the issues updated option

Api Token

Set your desired API token in the .env

API_TOKEN=the-api-token

We have the following SDK's to easily interact with Handesk api There is the badchoice/handesk-php package in packagist to easily talk with the api. Handesk-php Handesk-ios In progress

Screenshots

Tickets screenshot Ticket screenshot Leads screenshot Lead screenshot Invitation screenshot Email screenshot

Community

We have a slack channel at https://handesk.slack.com/ And you can join with the following invitation

Join in with the following link

Join handesk slack

Or you can follow me on twitter too @codepassionapp

Even at instragram codepasssion.io

Development

We try to follow a TDD approach as well as some mixed functional CSS for the frontend.

PRs are welcome!

License

Handesk is open-sourced software licensed under the MIT license.

Special thanks to Jetbrains for their support to open source projects!