zofe / ticket-module
ticket module for rapyd-livewire application
Installs: 31
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:rapyd-module
Requires
- php: ^8.0|^8.1|^8.2
- asantibanez/livewire-charts: ^2.4
- cmixin/business-time: ^1.11
- illuminate/config: ^9.0|^10.0
- illuminate/contracts: ^9.0|^10.0
- laravel-notification-channels/telegram: ^2.1|^3.0|^4.0
- livewire/livewire: ^2.0
- mews/purifier: ^3.3
- zerodahero/laravel-workflow: ^4.0
- zofe/auth-module: dev-main|^0.0|^0.1
- zofe/layout-module: dev-main|^0.0|^0.1
- zofe/rapyd-livewire: dev-main|^0.8
- zofe/rapyd-module-installer: ^0.0|^0.1
Requires (Dev)
- orchestra/testbench: ^v7.0|^v8.0
- phpunit/phpunit: ^9.3|^10.0.7
- vimeo/psalm: ^4.0|^5.0
README
This is a Ticket module for a Laravel application (>= 8)
it use layout module and auth module.
Installation & configuration
Your can require this module in your laravel application using:
composer require zofe/ticket-module
php artisan migrate
create a configuration file "ticket.php" in your config folder and customize :
'operators_roles'=>['admin'],
'notification_email' => 'notification@email.it',
then add roles/permissions in the auth.php configuration file :
By default, tickets can be created by "user" (role) users and managed by "admin" (role) users. A minimal configuration for your config/auth.php file is:
'role_permissions' => [
'admin' => [
'view tickets', 'edit tickets',
],
'user' => [
'view own tickets', 'edit own tickets',
],
]
then you can seed some default data using:
php artisan db:seed --class="App\\Modules\\Ticket\\Database\\Seeders\\TicketCategories"
Layout
Note that this module will install/use layout-module, you may need to do:
cd app/Modules/Layout/
npm i
npm run dev
this will compile scss and copy css assets to your public project folder
Charts
this module use livewire charts, so you need to publish some assets:
php artisan vendor:publish --tag=livewire-charts:public
if you customize your layout make sure you include this directive
@livewireChartsScripts
Customizing Module
To customize the module code, we recommend forking the original package repository on GitHub and making changes there. This way, you can maintain a separate branch for your changes, while also keeping up-to-date with the latest releases of the package.
To install your forked version of the package in your Laravel application, you can reference your forked repository in the composer.json file of your Laravel application using the "vcs" package type. Here's an example of what you can add to your composer.json:
"repositories": [ { "type": "vcs", "url": "https://github.com/<your-github-username>/<package-name>" } ],
Replace <your-github-username>
with your GitHub username and <package-name>
with the name of your forked package repository.
After adding your forked repository to composer.json, you can require your customized package in the same way you would require the original package:
composer require <your-github-username>/<package-name>:dev-<your-branch-name>
Replace <your-github-username>
, <package-name>
, and <your-branch-name>
with the appropriate values for your forked repository and branch.
By using this approach, you can easily customize the module code while also keeping your code up-to-date with the latest releases of the package.
We encourage developers to make changes that could be useful to the wider community and contribute back to the original package repository via pull requests. This can help improve the package for everyone and ensure that your changes are integrated with the latest releases of the package.