Skip to content
← Back to projects

Tasks Management

A tasks management plugin for Filament PHP

#Laravel Tasks Management

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

New version available.