alessandronuunes/tasks-management

A tasks management plugin for Filament PHP

v1.0.7 2025-04-17 12:52 UTC

README

Task management system for Laravel with Filament support, which includes features for user assignment, comments, priorities, statuses, and task types kanban

Features

  • Task management with CRUD operations kanban
  • Task assignments to users
  • Task priorities and status management
  • Team support (optional)
  • Comments on tasks
  • Task notifications (configurable)

Task List Screen Task List Screen Task List Screen Task List Screen Task List Screen

Requirements

  • PHP 8.2 ou superior
  • Laravel 11.x
  • Filament 3.x
  1. Install the package:
composer require alessandronuunes/tasks-management
  1. Publish and run the migrations:
php artisan vendor:publish --tag=tasks-management-migrations
php artisan migrate
  1. Publish the configuration file:
php artisan vendor:publish --tag=tasks-management-config
  1. Publish the language files:
php artisan vendor:publish --tag=tasks-management-translations

Configuration

The package configuration file will be published at config/tasks-management.php . Here you can:

  • Enable/disable team support
  • Configure models
  • Setup notifications
  • Enable/disable widgets

You can set the default locale in the configuration file:

'locale' => 'pt_BR', // or any other locale

Configure default behavior for actions:

'actions' => [
    'create_another' => false, // Controls the createAnother behavior in forms
],

To enable team support, update your configuration:

'use_teams' => true,
'models' => [
    'team' => App\Models\Team::class,
]

to enable log activity in logs in laravel-auditing:

'logging' => [
       'enabled' => true,
       'driver' => 'laravel-auditing',
       'options' => [
           'relation_name' => 'auditable',
           'implementation' => \OwenIt\Auditing\Models\Audit::class,
           'user_morph_prefix' => 'user',
           'resolver' => [
               'user' => \OwenIt\Auditing\Resolvers\UserResolver::class,
               'ip_address' => \OwenIt\Auditing\Resolvers\IpAddressResolver::class,
               'user_agent' => \OwenIt\Auditing\Resolvers\UserAgentResolver::class,
               'url' => \OwenIt\Auditing\Resolvers\UrlResolver::class,
           ],
       ],
   ],

Adding to Filament

Add the plugin to your Filament panel provider:

use Alessandronuunes\TasksManagement\TasksManagementPlugin;

class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            // ... other configurations ...
            ->plugins([
                TasksManagementPlugin::make()
                    ->authorizedUsers([ 'admin@admin.com' ])
                    ->userQueryModifier(fn ($query) => $query->positionNotNull()),
                    ->authorizedUsers([
                        'alessandro@vmixsolucoes.com.br',
                        'jhosefer@vmixsolucoes.com.br',
                        'rafael@vmixsolucoes.com.br',
                    ])
            ]);
    }
}

Customization

You can customize the behavior of the package by:

  1. Extending the models
  2. Modifying the configuration
  3. Publishing and modifying the views
  4. Extending the resources

License

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

Contribuição

Contributions are welcome! Feel free to open an issue or submit a pull request.

Autor

Alessandro Nuunes de Oliveira