Task management system for Laravel with Filament support, which includes features for user assignment, comments, priorities, statuses, and task types kanban
- Task management with CRUD operations kanban
- Task assignments to users
- Task priorities and status management
- Team support (optional)
- Comments on tasks
- Task notifications (configurable)
- PHP 8.2 ou superior
- Laravel 11.x
- Filament 3.x
- Install the package:
composer require alessandronuunes/tasks-management
- Publish and run the migrations:
php artisan vendor:publish --tag=tasks-management-migrations
php artisan migrate
- Publish the configuration file:
php artisan vendor:publish --tag=tasks-management-config
- Publish the language files:
php artisan vendor:publish --tag=tasks-management-translations
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,
],
],
],
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',
])
]);
}
}
You can customize the behavior of the package by:
- Extending the models
- Modifying the configuration
- Publishing and modifying the views
- Extending the resources
The MIT License (MIT). Please see License File for more information.
Contributions are welcome! Feel free to open an issue or submit a pull request.
Alessandro Nuunes de Oliveira