承接 nguyentranchung/creators-ticketing 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nguyentranchung/creators-ticketing

Composer 安装命令:

composer require nguyentranchung/creators-ticketing

包简介

A robust and dynamic ticketing system for Filament 4.

README 文档

README

Latest Version on Packagist Total Downloads License

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

Screenshots

Tickets List Tickets List

Ticket View Ticket View

Submit Ticket Form Submit Ticket Form

User Tickets List User's Tickets List

User Tickets List User's Chat View

User Tickets List User's Chat View with Closed Status

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

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

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 ->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

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<Ticket, $this>
 */
public function tickets(): HasMany
{
    return $this->hasMany(Ticket::class);
}

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 from v1.0.5 to v1.0.6

⚠️ 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

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

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

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

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

Creating Forms

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

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

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

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

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

The package includes built-in security features:

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

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

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

Credits

Support

If you discover any security-related issues, please email hello@jabirkhan.com.

Built with ❤️ by DAA Creators

nguyentranchung/creators-ticketing 适用场景与选型建议

nguyentranchung/creators-ticketing 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 12 月 02 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 nguyentranchung/creators-ticketing 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 nguyentranchung/creators-ticketing 我们能提供哪些服务?
定制开发 / 二次开发

基于 nguyentranchung/creators-ticketing 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 24
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 10
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-02