zaynasheff/boards

Kanban boards plugin for Filament

Maintainers

Package info

github.com/zaynasheff/boards

pkg:composer/zaynasheff/boards

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

0.1.3 2026-01-23 06:40 UTC

This package is auto-updated.

Last update: 2026-02-23 06:48:06 UTC


README

Boards is a plugin for Filament that adds kanban board style functionality to your admin panel.

Features

Boards provides a flexible and modern kanban experience inside Filament.

  • Unlimited boards
    Create and manage as many boards as you need for different workflows, teams, or processes.

  • Drag & drop columns and cards
    Easily reorder columns and move cards between them using an intuitive drag & drop interface.

  • Multitenancy support
    Built-in multitenancy allows boards to be scoped per team or organization.

  • Multi-language support
    Fully localized using Laravel’s translation system, with support for multiple languages out of the box.

  • Fully customizable UI
    Customize the appearance of boards, columns, and cards to match your application’s design.

Installation

You can install the package via composer:

composer require zaynasheff/boards

Database Migrations

Boards requires database migrations to function properly.

Publish and run the migrations during installation:

php artisan vendor:publish --tag="boards-migrations"
php artisan migrate

Register the plugin

Register the plugin in your Filament panel provider:

app/Providers/Filament/AdminPanelProvider.php

use Zaynasheff\Boards\BoardsPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            BoardsPlugin::make(),
        ]);
}

Plugin Configuration

You can customize how the Boards plugin appears in the Filament navigation by chaining configuration methods when registering the plugin.

use Zaynasheff\Boards\BoardsPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            BoardsPlugin::make()
                ->title('CRM'),
                ->navigationLabel('CRM')
                ->navigationIcon('heroicon-o-users')
                ->navigationGroup('Marketing')
                ->navigationSort(-1)
               
        ]);
}
Method Description
navigationLabel(string $label) Sets the navigation label
navigationIcon(string $icon) Sets the navigation icon (Heroicons)
navigationGroup(string $group) Assigns the plugin to a navigation group
navigationSort(int $sort) Controls navigation order
title(string $title) Sets the page title

Localization (Translations)

Boards supports multiple languages and uses Laravel’s built-in localization system.

All user-facing strings are translatable and can be customized for your application.

Publishing Translation Files

To publish the translation files, run:

php artisan vendor:publish --tag="boards-translations"

Multitenancy Support

Boards supports optional multitenancy, allowing you to scope boards and related data to the currently active tenant
(for example: Company, Team, etc.).

This is useful if your application serves multiple organizations or teams within a single Filament panel.

Enabling Multitenancy

To enable multitenancy support, publish the configuration file if you haven’t already:

php artisan vendor:publish --tag="boards-config"

Then open the config file:

config/boards.php

Set multitenancy to true:

return [

    'multitenancy' => true,

    // ...
];

Tenant Configuration

When multitenancy is enabled, you must configure how Boards resolves the current tenant.

Uncomment and configure the tenant array:

return [

    'multitenancy' => true,

    'tenant' => [
        'model' => \App\Models\Company::class,
        'table' => 'companies',
        'foreign_key' => 'company_id',
    ],

];
Key Description
model Eloquent model representing the tenant
table Database table used by the tenant model
foreign_key Foreign key added to Boards tables

Preparing the Database

After enabling multitenancy and configuring the tenant, run the following command:

php artisan boards:enable-multitenancy

This command will:

  • publish or update required migrations

  • add tenant foreign keys to Boards tables

  • prepare the database for multitenant usage

Then run migrations:

php artisan migrate

Disabling Multitenancy

If you need to disable multitenancy later, run:

php artisan boards:disable-multitenancy

This will revert the database structure back to single-tenant mode where possible.

Notes

  • Multitenancy is disabled by default

  • Boards will automatically scope all queries to the currently active tenant

  • The tenant resolution logic is compatible with Filament’s panel context

  • You are responsible for ensuring the active tenant is correctly resolved in your application

View Customization (Optional)

If you want to fully customize the appearance of Boards, you can publish the plugin views:

php artisan vendor:publish --tag="boards-views"

Credits

License

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