A Powerful Laravel Help Desk and Lead Management App

Overview

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

  • Email polling (new tickets and tickets updates)
  • Email attachments as ticket attachments (using laravel storage driver)
  • API for creating/updating/fetching tickets/leads so you can display them into your main app
  • Instant email/slack notifications when tickets are created/updated
  • Everything is unlimited
  • Lead management (With its API as well)
  • Auto lead subscription to mailChimp based on its tags
  • Tickets reporting
  • Tickets internal notes
  • Tickets can be escalated, so assistants can comment on them to help the teams
  • Can merge tickets
  • Mention agents with @name so they get notified
  • Lead tasks, that can have a due date, and sending daily tasks email
  • Create issues to your code repository directly from the ticket
  • Updating the ticket automatically when an issue is marked as resolved
  • UI multi language support (default en, alternative ca, de, fr, es)
  • Roadmap module, you can create ideas that come from your customers or your own, give them deadlines and integrate them with your repository manager, you can even create ideas from support tickets so you never lose track.
  • You can also create ideas by sending an email to you support accounts starting with Idea: it will create an idea instead of a ticket
  • Ticket rating, when a ticket is solved a rating email is sent to the customer (check config/handesk.php to disable it)

Follow us on twitter [@codepassionapp(https://twitter.com/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 [email protected] / 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
[email protected]
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(https://twitter.com/codepassionapp)

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!

Comments
  • reply to solved tickets can get lost

    reply to solved tickets can get lost

    To-Reproduce: Customer sends email Will get notification about ticket created - fine :) Supporter is writing answer and mark ticket as solved.

    Customer don't think so and will reply

    Supporter will not se the reply because it's listed under solved ... this will be a little show stopper ;) Support will not react ...

    Version: current master

    Possible solution: if ticket is in solved list and customer replys ticket will get back to pending state

    Maybe related to issue #22

    opened by marco-aa 19
  • PSR-2

    PSR-2

    Image

    Believe it or not, I'm all #teamBracesInSameLine (second type). Unfortunately that's not the path that PSR-2 chose.

    After working with some open sources projects (and Laravel source code itself), I learned to deal with it. PSR-2 does make code more readable from a world-wide perspective. If you get used to reading PSR-2 formatted code, you can read anybody's PSR-2 formatted code in the world.

    Anyway, the point of this topic is to say I hope you guys don't mind my PRs with PSR-2 code-style. PHPStorm will automatically format code for me that way.

    help wanted 
    opened by deleugpn 12
  • No emails on new tickets for supporting crew

    No emails on new tickets for supporting crew

    I don't get emails notifying me that I have a new ticket. The requester does get a mail but the support team (2 users) don't get any. Log file is empty/not even created and the users have all notifications active.

    any idea what might have happened here?

    opened by lucidlemon 10
  • Integrity constraint violation: 1048 Column 'body' cannot be null

    Integrity constraint violation: 1048 Column 'body' cannot be null

    Possible Bug - maybe i can fix it the next days but today im running low in time ;)

    Steps to reproduce:

    • Write a Email to support from extern
    • Cron Job will pull Email
    • Cron Job will fail s. Stack-Trace

    Possible Solution: App\Jobs\CreateTicketsFromNewEmails while process uses $message-text but with php-imap library it will be ->textPlain or ->textHtml s. Mailbox.php in vendor folder

     if($partStructure->type == 0 && $data) {
                                    if(strtolower($partStructure->subtype) == 'plain') {
                                            $mail->textPlain .= $data;
                                    }
                                    else {
                                            $mail->textHtml .= $data;
                                    }
                            }
                            elseif($partStructure->type == 2 && $data) {
                                    $mail->textPlain .= trim($data);
                            }
    

    Stack-Trace:

    Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'body' cannot be null (SQL: insert into `tickets` (`title`, `body$
    Stack trace:
    #0 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php(607): Illuminate\Database\Connection->runQueryCallback('insert into $
    #1 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php(450): Illuminate\Database\Connection->run('insert into `ti...', Arra$
    #2 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php(404): Illuminate\Database\Connection->statement('insert into `ti...'$
    #3 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert('insert $
    #4 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2133): Illuminate\Database\Query\Processors\Processor->processIns$
    #5 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1251): Illuminate\Database\Query\Builder->insertGetId(Array, '$
    #6 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(688): Illuminate\Database\Eloquent\Builder->__call('insertGetId'$
    #7 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(653): Illuminate\Database\Eloquent\Model->insertAndSetId(Object($
    #8 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(522): Illuminate\Database\Eloquent\Model->performInsert(Object(I$
    #9 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php(284): Illuminate\Database\Eloquent\Model->save()
    #10 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Support/helpers.php(950): Illuminate\Database\Eloquent\Relations\HasOneOrMany->Illuminate\D$
    #11 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php(285): tap(Object(App\Ticket), Object(Closure))
    #12 /home/forge/handesk.vikinks.com/app/Ticket.php(33): Illuminate\Database\Eloquent\Relations\HasOneOrMany->create(Array)
    #13 /home/forge/handesk.vikinks.com/app/Jobs/CreateTicketsFromNewEmails.php(34): App\Ticket::createAndNotify(Object(App\Requester), 'New ticket: #1:...', NULL, Array)
    #14 /home/forge/handesk.vikinks.com/app/Jobs/CreateTicketsFromNewEmails.php(26): App\Jobs\CreateTicketsFromNewEmails->processMessage(Object(PhpImap\IncomingMail))
    #15 /home/forge/handesk.vikinks.com/vendor/laravel/framework/src/Illuminate/Support/Collection.php(287): App\Jobs\CreateTicketsFromNewEmails->App\Jobs\{closure}(Object$
    #16 /home/forge/handesk.vikinks.com/app/Jobs/CreateTicketsFromNewEmails.php(28): Illuminate\Support\Collection->each(Object(Closure))
    #17 [internal function]: App\Jobs\CreateTicketsFromNewEmails->handle(Object(App\Services\Pop3\Mailbox))
    
    opened by marco-aa 9
  • create issue button

    create issue button

    If we don't use bitbucket we should remove the button.

    I change the issue.blade.php with the following line at the beginning @if(strcmp(config('issues.credentials.key'),'the-bitbucket-key-if-using-oauth') !== 0)

    and ending with an other @endif

    I know that the condition is not really good but when I made the first copy of the .env.example is the string you had inside for credentials.key

    Should be better to use a switch inside the .env and issue config file to check if we have any issue addon activated.

    As I know that I'm not going to use it for now, I'll let it like that.

    I'm not making any PR because It's now an optimal solution but at least my agents are not getting errors when they press the button ;)

    Thanks for all!

    opened by antton 8
  • Getting 500 Internal Server Error when trying to view the attachement in the ticket

    Getting 500 Internal Server Error when trying to view the attachement in the ticket

    When a customer attaches an image, when trying to view the attachment, I'm getting 500 internal server error message.

    The attachment appears in this folder mysite/storage/attachments/9_tickets.PNG

    Is this a something on my end?

    opened by pavlenex 7
  • Integrity constraint violation: 1048 Column 'name' cannot be null

    Integrity constraint violation: 1048 Column 'name' cannot be null

    Today the polling of emails stopped working.

    I checked the log files and found a DB Exception i guess the Email from the customer is correct but it did not contain a Name.

    Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null (SQL: insert intorequesters(email,na me,updated_at,created_at) values ([email protected], , 2017-09-19 07:51:02, 2017-09-19 07:51:02)) in /home/forge/....../vendor/laravel/framework/src/ Illuminate/Database/Connection.php:647

    bug 
    opened by marco-aa 7
  • Parse error: syntax error, unexpected '@'

    Parse error: syntax error, unexpected '@'

    After I the installation I get the error message "Parse error: syntax error, unexpected '@'". Full error message can be viewed at http://desk.lhenriksson.se/tickets

    Looks like maybe a problem with the blade template?

    Or have I made something stupid? :)

    opened by lhenriksson 7
  • Users endpoint

    Users endpoint

    I saw this ticket system and seems perfect for my needs. The big problem is how to integrate my payment system to handesk when they pay. Right now I have another helpdesk and they have endpoints to create users but this one miss this feature. There are in case other ways to create users and disable the create accounts page?

    opened by Mte90 6
  • Team ticket overview

    Team ticket overview

    SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'team_id' in where clause is ambiguous (SQL: select count(*) as aggregate fromticketsinner joinmembershipsontickets.team_id=memberships.team_idwherememberships.user_id= 2 andstatus< 4 andteam_id= 2 andtickets.deleted_atis null) (View: handesk/vendor/badchoice/thrust/src/resources/views/index.blade.php)

    Getting this error when a ticket is assigned to a team (id 2 in this case), using an account that is in team (id2) and browsing to /tickets?team_id=2

    opened by Onurrr 6
  • HANDESK CONFIG: NEW TICKET FROM EMAILS

    HANDESK CONFIG: NEW TICKET FROM EMAILS

    Hi, everybody,

    Im new handesk user. So i have a question, i think it is a silly one but i just cant figure out, so we’re going to appreciate if you could help us.

    Well!, we were trying you awesome Helpdesk platform, which it is great, and fit to our needs. But after installing, and configuring it, we realize that when we send an email to our support email account, the Handesk does not create the new ticket.

    I read: Email polling (new tickets and tickets updates) and we understand that this feature make possible that when a costumer send us an email to out support email the system create and open a new ticket or it isnt?.

    Could you help us.

    Thank in advance,

    opened by CarlosVillagra 6
  • public/login not found

    public/login not found

    Installed normally. Not using Docker.

    On first load from web browser, I get 404. Web server logs says: handesk/public/login not found.

    Indeed, there is no such file in public.

    drwxr-xr-x 2 www-data www-data 4096 Nov 8 22:57 css -rw-r--r-- 1 www-data www-data 1150 Nov 8 22:57 favicon.ico drwxr-xr-x 2 www-data www-data 4096 Nov 8 22:57 images -rw-r--r-- 1 www-data www-data 1783 Nov 8 22:57 index.php drwxr-xr-x 2 www-data www-data 4096 Nov 8 22:57 js -rw-r--r-- 1 www-data www-data 188 Nov 8 22:57 mix-manifest.json -rw-r--r-- 1 www-data www-data 24 Nov 8 22:57 robots.txt lrwxrwxrwx 1 root root 40 Nov 8 23:19 storage -> /var/www/html/handesk/storage/app/public -rw-r--r-- 1 www-data www-data 914 Nov 8 22:57 web.config

    What's up? I guess I'm not setting it up right.

    opened by charleslcso 0
  • Reverse proxy config

    Reverse proxy config

    Hello, I understand that this project is no longer under active development, but I still want to give it a try.

    I need to run it behind Nginx reverse proxy. Can anyone suggest the config needed to make it run?

    Thanks!

    opened by charleslcso 2
  • Bump eventsource and laravel-mix

    Bump eventsource and laravel-mix

    Removes eventsource. It's no longer used after updating ancestor dependency laravel-mix. These dependencies need to be updated together.

    Removes eventsource

    Updates laravel-mix from 1.7.2 to 6.0.49

    Release notes

    Sourced from laravel-mix's releases.

    v6.0.0

    This release brings Laravel Mix current with webpack 5. It additionally includes a variety of bug fixes and enhancements.

    v6.0.0-alpha.0

    Add webpack 5 support.

    v5.0.5

    No release notes provided.

    v5.0.0

    v4.0.7

    • Fixes file path and compile issues on Windows.

    v4.0.0

    To Upgrade...

    npm remove laravel-mix
    npm install [email protected]
    

    After upgrading, if you encounter any vue-template-compiler issues, this is related to the fact that your installed version numbers of vue and vue-template-compiler must be identical. Update one or both to fix this issue.

    New

    • Faster compiles
    • Faster npm installs.
    • Upgraded to webpack 4
    • Upgraded to vue-loader 15
    • Upgraded to Babel 7
    • Automatic vendor extraction. If you call mix.extract() with zero arguments, all vendor dependencies (any package from node_modules/ that you pull in) will automatically be extracted. Nifty!
    • CSS minification (via cssnano) options may be provided 887808f8aea03b5dabc9e7350b66ee01a52e1610
    • PostCSS plugins may be passed to mix.sass/less/stylus() on a per-call basis. This means you may provide unique PostCSS plugins for each mix.sass() call, if desired. 88690a2f770c071dc8160127c42a4f44decf2b56
    • Switched JS optimizing/minification from Uglify to Terser. 5fb180e6e430e99b740a4bce330669cdd8fda29c
    • Switched from node-sass to Dart Sass. While this comes with a small increased compile-time cost, the benefit is faster and more reliable npm installs. 320cecbdb77e222e32903219905d0d8f3754c5ff
    • Improved Babel config merging strategy. You may now override or tweak any default Babel plugins and presets provided through Mix by creating a .babelrc file in your project root. 83f5052eb32c498a90edace47402d66eaf80f4b7

    Bugfixes

    • All npm audit alerts have been fixed, thanks to the upgrade to webpack 4.

    Notes

    • If your project heavily uses JavaScript dynamic imports, you may need to hold off until the release of webpack 5 early next year. There are known compile issues related to this that we cannot fix until then. Once webpack 5 is out, Mix will be updated shortly after. If you're unfamiliar with dynamic imports, then this very likely won't affect your project.
    • Sass support is now an on-demand dependency. In prior versions of Mix, the node-sass and sass-loader dependencies were included out of the box, regardless of whether your project required Sass compilation or not. To help improve install times, these two dependencies will now be installed on-demand if, and only if, your project specifies Sass compilation with mix.sass(). The first time you run npm run dev, the dependencies will be installed and saved to your dev-dependencies list. 5b7a438bcf53bc87ccc08da09b1e816a6088dec8

    ... (truncated)

    Changelog

    Sourced from laravel-mix's changelog.

    Changelog

    6.0.14

    • BabelConfig.fetchBabelRc / static BabelConfig.default / static BabelConfig.generate have all been deprecated. They are no longer used by Mix itself but remain for backwards compatability.
    • MixDefinitionsPlugin.getDefinitions and static MixDefinitionsPlugin.build have been deprecated. They are no longer used by Mix itself but remain for backwards compatability.
    • static Chunks._instance / static Chunks.instance() / static Chunks.reset() are now deprecated and will be removed in a future release.
    • The static methods on HotReloading are now deprecated. They have been replaced with instance methods.
    • The use of the globals Mix, Config, and webpackConfig are now deprecated and will warn on use in Mix v7.

    We are working toward an API for access to Mix for extensions that does not assume that it is a global or that it is the same instance in all cases.

    In the mean time:

    • Uses of Chunks.instance() may be replaced with Mix.chunks
    • Uses of Config may be replaced with Mix.config
    • Uses of webpackConfig may be replaced with Mix.webpackConfig
    • Uses of HotReloading.* methods Mix.hot.*

    6.0

    View upgrade guide.

    Added

    • Support for webpack 5
    • New npx mix executable for triggering your build
    • Support for Vue 3 applications
    • Support for PostCSS 8
    • New mix.vue() and mix.react() commands
    • New mix.alias() command (Learn More)
    • Support for changing the webpack manifest output path (Learn More)
    • New mix.before() hook (Learn More)
    • Improved mix.combine() wildcard support
    • Improved mix.extract() priority and tree-shaking logic

    Changed

    • Fixed "empty CSS file" extraction bug when using dynamic imports
    • Fixed mix.ts() TypeScript bug that skipped Babel transformation in certain cases
    • Fixed and improved PostCSS plugin autoloading and merging
    • Fixed an issue related to hot module reloading when versioning is enabled
    • Added TypeScript types for API
    Upgrade guide

    Sourced from laravel-mix's upgrade guide.

    Upgrade to Mix 6

    npm install laravel-mix@latest
    

    Review Your Dependencies

    Laravel Mix 6 ships with support for the latest versions of numerous dependencies, including webpack 5, PostCSS 8, Vue Loader 16, and more. These are significant releases with their own sets of breaking changes. We've done our best to normalize these changes, but it's still particularly important that you take the time to fully test your build after upgrading to Mix 6.

    Please review your package.json dependencies list for any third-party tools or plugins that may not yet be compatible with webpack 5 or PostCSS 8.

    Check Your Node Version

    Mix has bumped its minimum Node requirement from version 8 to 12.14.0. Please check which version you have installed (node -v) and ensure that it meets this requirement.

    Update Your NPM Scripts

    If your build throws an error such as Unknown argument: --hide-modules, the scripts section of your package.json file will need to be updated. The Webpack 5 CLI removed a number of options that your NPM scripts was likely referencing.

    While you're at it, go ahead and switch over to the new Mix CLI.

    Before
    "scripts": {
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    }
    </tr></table> 
    

    ... (truncated)

    Commits
    Maintainer changes

    This version was pushed to npm by thecrypticace, a new releaser for laravel-mix since your current version.


    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump semver-regex and laravel-mix

    Bump semver-regex and laravel-mix

    Removes semver-regex. It's no longer used after updating ancestor dependency laravel-mix. These dependencies need to be updated together.

    Removes semver-regex

    Updates laravel-mix from 1.7.2 to 6.0.49

    Release notes

    Sourced from laravel-mix's releases.

    v6.0.0

    This release brings Laravel Mix current with webpack 5. It additionally includes a variety of bug fixes and enhancements.

    v6.0.0-alpha.0

    Add webpack 5 support.

    v5.0.5

    No release notes provided.

    v5.0.0

    v4.0.7

    • Fixes file path and compile issues on Windows.

    v4.0.0

    To Upgrade...

    npm remove laravel-mix
    npm install [email protected]
    

    After upgrading, if you encounter any vue-template-compiler issues, this is related to the fact that your installed version numbers of vue and vue-template-compiler must be identical. Update one or both to fix this issue.

    New

    • Faster compiles
    • Faster npm installs.
    • Upgraded to webpack 4
    • Upgraded to vue-loader 15
    • Upgraded to Babel 7
    • Automatic vendor extraction. If you call mix.extract() with zero arguments, all vendor dependencies (any package from node_modules/ that you pull in) will automatically be extracted. Nifty!
    • CSS minification (via cssnano) options may be provided 887808f8aea03b5dabc9e7350b66ee01a52e1610
    • PostCSS plugins may be passed to mix.sass/less/stylus() on a per-call basis. This means you may provide unique PostCSS plugins for each mix.sass() call, if desired. 88690a2f770c071dc8160127c42a4f44decf2b56
    • Switched JS optimizing/minification from Uglify to Terser. 5fb180e6e430e99b740a4bce330669cdd8fda29c
    • Switched from node-sass to Dart Sass. While this comes with a small increased compile-time cost, the benefit is faster and more reliable npm installs. 320cecbdb77e222e32903219905d0d8f3754c5ff
    • Improved Babel config merging strategy. You may now override or tweak any default Babel plugins and presets provided through Mix by creating a .babelrc file in your project root. 83f5052eb32c498a90edace47402d66eaf80f4b7

    Bugfixes

    • All npm audit alerts have been fixed, thanks to the upgrade to webpack 4.

    Notes

    • If your project heavily uses JavaScript dynamic imports, you may need to hold off until the release of webpack 5 early next year. There are known compile issues related to this that we cannot fix until then. Once webpack 5 is out, Mix will be updated shortly after. If you're unfamiliar with dynamic imports, then this very likely won't affect your project.
    • Sass support is now an on-demand dependency. In prior versions of Mix, the node-sass and sass-loader dependencies were included out of the box, regardless of whether your project required Sass compilation or not. To help improve install times, these two dependencies will now be installed on-demand if, and only if, your project specifies Sass compilation with mix.sass(). The first time you run npm run dev, the dependencies will be installed and saved to your dev-dependencies list. 5b7a438bcf53bc87ccc08da09b1e816a6088dec8

    ... (truncated)

    Changelog

    Sourced from laravel-mix's changelog.

    Changelog

    6.0.14

    • BabelConfig.fetchBabelRc / static BabelConfig.default / static BabelConfig.generate have all been deprecated. They are no longer used by Mix itself but remain for backwards compatability.
    • MixDefinitionsPlugin.getDefinitions and static MixDefinitionsPlugin.build have been deprecated. They are no longer used by Mix itself but remain for backwards compatability.
    • static Chunks._instance / static Chunks.instance() / static Chunks.reset() are now deprecated and will be removed in a future release.
    • The static methods on HotReloading are now deprecated. They have been replaced with instance methods.
    • The use of the globals Mix, Config, and webpackConfig are now deprecated and will warn on use in Mix v7.

    We are working toward an API for access to Mix for extensions that does not assume that it is a global or that it is the same instance in all cases.

    In the mean time:

    • Uses of Chunks.instance() may be replaced with Mix.chunks
    • Uses of Config may be replaced with Mix.config
    • Uses of webpackConfig may be replaced with Mix.webpackConfig
    • Uses of HotReloading.* methods Mix.hot.*

    6.0

    View upgrade guide.

    Added

    • Support for webpack 5
    • New npx mix executable for triggering your build
    • Support for Vue 3 applications
    • Support for PostCSS 8
    • New mix.vue() and mix.react() commands
    • New mix.alias() command (Learn More)
    • Support for changing the webpack manifest output path (Learn More)
    • New mix.before() hook (Learn More)
    • Improved mix.combine() wildcard support
    • Improved mix.extract() priority and tree-shaking logic

    Changed

    • Fixed "empty CSS file" extraction bug when using dynamic imports
    • Fixed mix.ts() TypeScript bug that skipped Babel transformation in certain cases
    • Fixed and improved PostCSS plugin autoloading and merging
    • Fixed an issue related to hot module reloading when versioning is enabled
    • Added TypeScript types for API
    Upgrade guide

    Sourced from laravel-mix's upgrade guide.

    Upgrade to Mix 6

    npm install laravel-mix@latest
    

    Review Your Dependencies

    Laravel Mix 6 ships with support for the latest versions of numerous dependencies, including webpack 5, PostCSS 8, Vue Loader 16, and more. These are significant releases with their own sets of breaking changes. We've done our best to normalize these changes, but it's still particularly important that you take the time to fully test your build after upgrading to Mix 6.

    Please review your package.json dependencies list for any third-party tools or plugins that may not yet be compatible with webpack 5 or PostCSS 8.

    Check Your Node Version

    Mix has bumped its minimum Node requirement from version 8 to 12.14.0. Please check which version you have installed (node -v) and ensure that it meets this requirement.

    Update Your NPM Scripts

    If your build throws an error such as Unknown argument: --hide-modules, the scripts section of your package.json file will need to be updated. The Webpack 5 CLI removed a number of options that your NPM scripts was likely referencing.

    While you're at it, go ahead and switch over to the new Mix CLI.

    Before
    "scripts": {
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    }
    </tr></table> 
    

    ... (truncated)

    Commits
    Maintainer changes

    This version was pushed to npm by thecrypticace, a new releaser for laravel-mix since your current version.


    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump async from 2.6.1 to 2.6.4

    Bump async from 2.6.1 to 2.6.4

    Bumps async from 2.6.1 to 2.6.4.

    Changelog

    Sourced from async's changelog.

    v2.6.4

    • Fix potential prototype pollution exploit (#1828)

    v2.6.3

    • Updated lodash to squelch a security warning (#1675)

    v2.6.2

    • Updated lodash to squelch a security warning (#1620)
    Commits
    Maintainer changes

    This version was pushed to npm by hargasinski, a new releaser for async since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
Releases(1.4.3)
Owner
Jordi Puigdellívol
CTO at Revo
Jordi Puigdellívol
FreeScout — Free self-hosted help desk & shared mailbox (Zendesk / Help Scout alternative)

Free Self-Hosted Zendesk & Help Scout Alternative FreeScout is the super lightweight free open source help desk and shared inbox written in PHP7+ (Lar

FreeScout 1.8k Jan 2, 2023
DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

kuaifan 3k Jan 5, 2023
GitScrum is a Project Management Tool, developed to help entrepreneurs, freelancers, managers, and teams Skyrocket their Productivity with the Agile methodology and Gamification.

GitScrum is a Project Management Tool, developed to help entrepreneurs, freelancers, managers, and teams Skyrocket their Productivity with the Agile methodology and Gamification.

GitScrum 2.8k Jan 6, 2023
This app is designed to help Romanian teenagers and adults with learning

This app is designed to help Romanian teenagers and adults with learning. The app has a lot of good resources to support students in every possible way. The main resource we have are high school lesons. ??

StudentApp 3 Apr 27, 2022
Powerful, yet easy to use, open-source online ordering, table reservation and management system for restaurants

TastyIgniter provides a professional and reliable platform for restaurants wanting to offer online food ordering and table reservation to their custom

TastyIgniter 2.4k Dec 27, 2022
mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system

mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system. Dashboard features such as: Complete Dashboard, Custom Authentication, Email Verification, custom-login-register-forgot password (without jetstream).

Hasmukh Dharajiya 2 Sep 20, 2022
Laravel-Library-Management-system is nice to management library system...

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

Eng Hasan Hajjar 2 Sep 30, 2022
Scrumwala: Your very own Scrum, Agile project management web app - built with Laravel

Scrumwala Your very own Scrum/Agile web app built with Laravel Features Create and manage projects with plan and work views Group issues in a project

null 255 Nov 2, 2022
Hotel Management App using Laravel & Orchid for admin

Hotel Management System Installation Open a terminal session in the project's root. Install dependencies by running the command: composer install Run

null 1 Feb 8, 2022
A powerful open source Laravel Blog with WYSWYG and CRUD (Create Read Update Delete) built on Laravel 5.8 and Bootstrap 4

Larablog A powerful open source Laravel Blog with WYSWYG and CRUD (Create Read Update Delete) built on Laravel 5.8 and Bootstrap 4 Table of contents F

Jeremy Kenedy 144 Oct 11, 2022
Health Management App for WTM Buea community to work on during the period of Hacktoberfest

Laravel web application developed by WTM Buea community members Health Care Management App An app that enables users and or patients to get consultati

Women Techmakers Buea 2 Oct 28, 2021
A learning management app

TECHADEMIA Techademia is a learning management system. It's an app built to help people learn various technologies from categories such as DevOps, Pro

fokosun 15 Mar 9, 2022
A Employee Management System Web App

This is a Employees Management Web App. Installation Fork, clone or download this repository. Run composer install if it's the initial setup or compos

Maneesh Prashanth 3 Aug 20, 2022
Open source ERP software. Built on modern PHP and bootstrap 4. Easy and powerful.

FacturaScripts Open source ERP software. Built on modern PHP and bootstrap 4. Easy and powerful. Install Clone and deploy with composer and npm (compo

Carlos Garcia 313 Jan 4, 2023
Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony

Grav Grav is a Fast, Simple, and Flexible, file-based Web-platform. There is Zero installation required. Just extract the ZIP archive, and you are alr

Grav 13.6k Dec 24, 2022
A powerful and responsive blog system powered by laravel 5.5.

Powerful and responsive blog system powered by laravel 5.5. Click https://lufficc.com/blog to view live demo. Xblog 中文 README | Docs This blog is for

Congcong Li 924 Nov 18, 2022
Cachet is a beautiful and powerful open source status page system.

Cachet is a beautiful and powerful open source status page system. Overview List your service components Report incidents Customise the look of your s

Cachet 12.5k Dec 5, 2021
DaybydayCRM an open-source CRM, to help you keep track of your daily workflow.

====================== DaybydayCRM is an everyday customer relationship management system (CRM) to help you keep track of your customers, tasks, appoi

Casper Bottelet 2.1k Jan 3, 2023
Remindle is here to help you remember. Remember everything you want, by the means you prefer, in the frequency you like

platform Personal reminders About Remindle Remindle is a platform which helps you to remember all important events. You can set the means you’d like t

Remindle 4 Dec 23, 2021