PHPackages                             nguyentranchung/creators-ticketing - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. nguyentranchung/creators-ticketing

ActiveLibrary

nguyentranchung/creators-ticketing
==================================

A robust and dynamic ticketing system for Filament 4.

01PHP

Since Dec 2Pushed 5mo agoCompare

[ Source](https://github.com/nguyentranchung/creators-ticketing)[ Packagist](https://packagist.org/packages/nguyentranchung/creators-ticketing)[ RSS](/packages/nguyentranchung-creators-ticketing/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (5)Used By (0)

Creators Ticketing for Filament v4
==================================

[](#creators-ticketing-for-filament-v4)

[![Latest Version on Packagist](https://camo.githubusercontent.com/ad8cda3cd283adac06543e0c2796ee89c47e8090ead4282a141f67dd90dda79a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f64616163726561746f72732f63726561746f72732d7469636b6574696e672e737667)](https://packagist.org/packages/daacreators/creators-ticketing)[![Total Downloads](https://camo.githubusercontent.com/3e42453751d78fc3f6bf9962881a81d63a14b154863337d85d2399f3c299dc21/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f64616163726561746f72732f63726561746f72732d7469636b6574696e672e737667)](https://packagist.org/packages/daacreators/creators-ticketing)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE.md)

A robust and dynamic ticketing system plugin for Filament 4, providing a complete helpdesk solution for your Laravel application.

Screenshots
-----------

[](#screenshots)

[![Tickets List](screenshots/tickets.png)](screenshots/tickets.png)*Tickets List*

[![Ticket View](screenshots/ticket-view.png)](screenshots/ticket-view.png)*Ticket View*

[![Submit Ticket Form](screenshots/submit-ticket.png)](screenshots/submit-ticket.png)*Submit Ticket Form*

[![User Tickets List](screenshots/user-tickets-list.png)](screenshots/user-tickets-list.png)*User's Tickets List*

[![User Tickets List](screenshots/user-facing-chat-view-open.png)](screenshots/user-facing-chat-view-open.png)*User's Chat View*

[![User Tickets List](screenshots/user-facing-chat-view-closed.png)](screenshots/user-facing-chat-view-closed.png)*User's Chat View with Closed Status*

Features
--------

[](#features)

- Full ticketing system with departments and forms
- Agent management with department assignments
- Custom form builder for ticket submissions
- Real-time ticket chat using Livewire
- Ticket statistics dashboard widget
- Granular permission system
- Read/Unread status indicators for agents
- File attachments support
- Responsive design
- Multi-language support
- Seamless integration with Filament 4

Requirements
------------

[](#requirements)

- PHP 8.2 or higher
- Laravel 11.x|12.x
- Filament 4.1.7 or higher
- Livewire 3.x

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require daacreators/creators-ticketing
```

After installation, publish the config file:

```
php artisan vendor:publish --tag="creators-ticketing-config"
```

Setup: Filament Panel Integration: The plugin integration code should be added to your main Filament admin panel provider file, which is typically located at: Open your AdminPanelProvider.php file and modify the panel() method as shown below. You need to include the use statement for the plugin class and call TicketingPlugin::make() inside the -&gt;plugins() array.

```
app/Providers/Filament/AdminPanelProvider.php

```

```
use Filament\Panel;
use Filament\PanelProvider;
use daacreators\CreatorsTicketing\TicketingPlugin; // Add this line

class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            ->default()
            // ... other panel configuration ...
            ->plugins([
                TicketingPlugin::make(), // Add the plugin call here
            ])
            // ... rest of the panel configuration ...
    }
}
```

Run the migrations:

```
php artisan migrate
```

### Adding User Model Relation

[](#adding-user-model-relation)

Add the `tickets()` relation to your User model. Open your User model file (typically `app/Models/User.php`) and add the following method:

```
use Illuminate\Database\Eloquent\Relations\HasMany;
use daacreators\CreatorsTicketing\Models\Ticket;

/**
 * @return HasMany
 */
public function tickets(): HasMany
{
    return $this->hasMany(Ticket::class);
}
```

### Seeding Ticket Statuses

[](#seeding-ticket-statuses)

After running migrations, you can seed default ticket statuses using the provided seeder:

```
php artisan db:seed --class=daacreators\\CreatorsTicketing\\Database\\Seeders\\TicketStatusSeeder
```

This will create the following default ticket statuses:

- **Open** (Blue) - Default status for new tickets
- **In Progress** (Amber) - Tickets being worked on
- **Pending** (Purple) - Tickets waiting for response
- **Resolved** (Green) - Tickets that have been resolved
- **Closed** (Gray) - Closing status for completed tickets

The seeder uses `updateOrCreate` to prevent duplicates, so you can safely run it multiple times.

Upgrading
---------

[](#upgrading)

### Upgrading from v1.0.5 to v1.0.6

[](#upgrading-from-v105-to-v106)

**⚠️ Important:** Version 1.0.6 introduces new fields to the database table. If you are upgrading from a previous version, you **must** run the migrations after updating the package to ensure the system functions correctly:

```
php artisan migrate
```

Configuration
-------------

[](#configuration)

### Basic Configuration

[](#basic-configuration)

Configure the package by setting values in your `.env` file or directly in the `config/creators-ticketing.php` file:

```
// Navigation group name in Filament sidebar
TICKETING_NAV_GROUP="Creators Ticketing"

// User model (if different from default)
USER_MODEL="\App\Models\User"

// Navigation visibility rules
TICKETING_NAV_FIELD=email
TICKETING_NAV_ALLOWED=admin@demo.com,manager@demo.com
```

### Navigation Visibility

[](#navigation-visibility)

You can control who sees the ticketing resources in the admin panel by configuring the navigation visibility rules:

```
'navigation_visibility' => [
    'field' => 'email', // or any other field like role_id
    'allowed' => ['admin@site.com', 'manager@site.com']
],
```

Multi-language Support
----------------------

[](#multi-language-support)

This plugin is fully localized and supports multiple languages out of the box. It automatically detects and uses your application's current locale configuration (`config/app.php`).

**Currently supported languages:**

- 🇺🇸 **English** (`en`) - Default
- 🇪🇸 **Spanish** (`es`)
- 🇧🇷 **Portuguese (Brazil)** (`pt_BR`)
- 🇫🇷 **French** (`fr`)
- 🇩🇪 **German** (`de`)
- 🇸🇦 **Arabic** (`ar`)
- 🇨🇳 **Chinese (Simplified)** (`zh_CN`)

### Publishing Translations

[](#publishing-translations)

If you wish to modify the texts or add a new language, you can publish the translation files:

```
php artisan vendor:publish --tag="creators-ticketing-translations"
```

Usage
-----

[](#usage)

### Creating Forms

[](#creating-forms)

1. Go to the Forms section in the admin panel
2. Create a new form with custom fields

### Setting Up Departments

[](#setting-up-departments)

1. Navigate to the Filament admin panel
2. Go to the Departments section
3. Create departments and assign agents
4. Assign the form to specific departments

### Managing Tickets

[](#managing-tickets)

Tickets can be managed through the Filament admin panel. You can:

- View all tickets **(New updates are marked with a "NEW" badge)**
- Assign tickets to agents
- Change ticket status
- Add internal notes
- Communicate with users
- Track ticket activities

### Frontend Integration

[](#frontend-integration)

To add the tickets and ticket submission form to your frontend:

```
\\ Add to your blade file
@livewire('creators-ticketing::ticket-submit-form')
```

Add the following to your CSS file:

```
@import "../../../../vendor/daacreators/creators-ticketing/resources/css/app.css";
@source '../../../../vendor/daacreators/creators-ticketing/resources/views/**/*';
```

Dashboard Widget
----------------

[](#dashboard-widget)

The package includes a ticket statistics widget. Add it to your Filament dashboard:

```
use daacreators\CreatorsTicketing\Filament\Widgets\TicketStatsWidget;

class DashboardConfig extends Config
{
    public function widgets(): array
    {
        return [
            TicketStatsWidget::class,
        ];
    }
}
```

Security
--------

[](#security)

The package includes built-in security features:

- Private file storage for attachments
- Permission-based access control
- Department-level agent restrictions

Contributing
------------

[](#contributing)

Thank you for considering contributing to Creators Ticketing! You can contribute in the following ways:

1. Report bugs
2. Submit feature requests
3. Submit pull requests
4. Improve documentation

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

Credits
-------

[](#credits)

- [Jabir Khan](https://github.com/jabirmayar)
- [All Contributors](../../contributors)

Support
-------

[](#support)

If you discover any security-related issues, please email .

**Built with ❤️ by [DAA Creators](https://daacreators.com)**

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance49

Moderate activity, may be stable

Popularity1

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity18

Early-stage or recently created project

 Bus Factor1

Top contributor holds 68% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0d0f3c4c484def533574ea61cb98cac3271481ba99fa394be5b48a2195d624d7?d=identicon)[nguyentranchung](/maintainers/nguyentranchung)

---

Top Contributors

[![nguyentranchung](https://avatars.githubusercontent.com/u/9611224?v=4)](https://github.com/nguyentranchung "nguyentranchung (17 commits)")[![jabirmayar](https://avatars.githubusercontent.com/u/55909170?v=4)](https://github.com/jabirmayar "jabirmayar (8 commits)")

### Embed Badge

![Health badge](/badges/nguyentranchung-creators-ticketing/health.svg)

```
[![Health](https://phpackages.com/badges/nguyentranchung-creators-ticketing/health.svg)](https://phpackages.com/packages/nguyentranchung-creators-ticketing)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
