PHPackages                             tales-virtualy/filament-kanban-board - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tales-virtualy/filament-kanban-board

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tales-virtualy/filament-kanban-board
====================================

A reusable Kanban board for Filament PHP.

v1.0.10(1mo ago)0491MITPHPPHP ^8.2

Since Jan 7Pushed 1mo agoCompare

[ Source](https://github.com/tales-virtualy/filament-kanban-board)[ Packagist](https://packagist.org/packages/tales-virtualy/filament-kanban-board)[ RSS](/packages/tales-virtualy-filament-kanban-board/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (6)Versions (12)Used By (0)

Filament Kanban Board
=====================

[](#filament-kanban-board)

[![Latest Version on Packagist](https://camo.githubusercontent.com/027fac9919be63e717c9b70dc7ab71044d8ac36d8bd5eda87970ab98369aaac9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f74616c65732d7669727475616c792f66696c616d656e742d6b616e62616e2d626f6172642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tales-virtualy/filament-kanban-board)[![Total Downloads](https://camo.githubusercontent.com/a387fc850feafdf874a5af4c84ca893a0cd08afefd3c3b3532d86d10e215b90d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f74616c65732d7669727475616c792f66696c616d656e742d6b616e62616e2d626f6172642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tales-virtualy/filament-kanban-board)[![License: MIT](https://camo.githubusercontent.com/458425f8985b0b0c8a736cffe75e05a098e3d77906acddbcad2bfc54492a4e02/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![PHP Version](https://camo.githubusercontent.com/e3c68bd5d113502cd668c9375a7c6c951c9243df37a2cad4e37af684bca117af/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f74616c65732d7669727475616c792f66696c616d656e742d6b616e62616e2d626f6172642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tales-virtualy/filament-kanban-board)[![Filament](https://camo.githubusercontent.com/3a3dcac44a513c11690ba52b90137dd7f84ca3ad4f074585d55b907e03b22e70/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f46696c616d656e742d3325323025374325323034253230253743253230352d616d6265723f7374796c653d666c61742d737175617265)](https://filamentphp.com/)

A Kanban board package for [Filament](https://filamentphp.com/) Panels on Laravel. Organize work in boards, lists, and cards with drag-and-drop, checklists, attachments, comments, activity history, members, tags, due dates, and archiving.

> **Scope:** This is a Filament panel plugin—not a standalone Kanban widget. It requires Laravel (PHP 8.2+), a configured Filament panel (v3, v4, or v5), and a Tailwind build that includes the package views.

---

Features
--------

[](#features)

- **Boards** — Public or private; member management; bulk archive and restore of lists
- **Lists &amp; cards** — HTML5 drag-and-drop with Alpine.js and Livewire; move cards across lists
- **Card workspace** — Description, members, tags, due dates, attachments, checklists (with reorder)
- **Collaboration** — Comments with edit/delete; activity log per card
- **Archiving** — Archive lists and cards; show or hide archived items; unarchive from the board or card modal
- **Access control** — Laravel policies for boards, lists, and cards; private boards show a clear restricted-access screen for non-members

---

Requirements
------------

[](#requirements)

RequirementNotesPHP`^8.2`LaravelCompatible with current LTS releases used by Filament 5Filament`^3.0`, `^4.0`, or `^5.0` (Panels)Livewire`^3.0` or `^4.0` (pulled in by Filament)Tailwind CSSv3 or v4; must compile classes used in package views (see [Panel theme](#4-panel-theme-required))DatabaseMySQL, PostgreSQL, SQLite, etc.---

Installation checklist
----------------------

[](#installation-checklist)

Complete these steps in order. Skipping the panel theme step is the most common cause of a “broken” UI (unstyled board names, layout glitches).

1. [Install via Composer](#1-install-via-composer)
2. [Register the plugin](#2-register-the-plugin)
3. [Run migrations](#3-run-migrations)
4. [Configure the Filament panel theme](#4-panel-theme-required) — **required for correct rendering**
5. [Build frontend assets](#5-build-frontend-assets)
6. [Optional: config, storage, tags](#optional-configuration)

---

1. Install via Composer
-----------------------

[](#1-install-via-composer)

```
composer require tales-virtualy/filament-kanban-board:^1.0.10 -W
```

Use `-W` (`--with-all-dependencies`) when your application pins Filament 5, so Composer can resolve compatible versions.

---

2. Register the plugin
----------------------

[](#2-register-the-plugin)

In your panel provider (for example `app/Providers/Filament/AdminPanelProvider.php`):

```
use Filament\Panel;
use FilamentKanban\FilamentKanbanPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentKanbanPlugin::make(),
        ])
        // ...discoverResources(), pages(), middleware(), etc.
    ;
}
```

Without this registration, Kanban pages and navigation will not be available.

---

3. Run migrations
-----------------

[](#3-run-migrations)

The package ships runnable migrations and loads them automatically (`runsMigrations()`):

```
php artisan migrate
```

You should see migrations named `create_kanban_tables` and `create_kanban_tag_tables`.

**If migrate reports “Nothing to migrate” but you get `relation "boards" does not exist`:**

- Ensure you are on **v1.0.10+**, then run `php artisan migrate` again, **or**
- Publish migrations into your application and migrate:

```
php artisan vendor:publish --tag="filament-kanban-board-migrations"
php artisan migrate
```

On a **fresh** database, use either automatic vendor migrations **or** published files—not both.

---

4. Panel theme (required)
-------------------------

[](#4-panel-theme-required)

Filament panels load CSS through a **Vite theme**, not through `resources/css/app.css` unless you explicitly wire that file into the panel. The Kanban views rely on Tailwind utility classes (`grid`, `rounded-lg`, `border`, avatar sizing, etc.). If those classes are not compiled into the panel theme, the UI will look broken even though data and routes work correctly.

### Step A — Create the theme file

[](#step-a--create-the-theme-file)

Create `resources/css/filament/admin/theme.css` (adjust the path if your panel uses another name):

```
@import '../../../../vendor/filament/filament/resources/css/theme.css';

@source '../../../../app/Filament/**/*';
@source '../../../../resources/views/**/*.blade.php';
@source '../../../../vendor/tales-virtualy/filament-kanban-board/resources/views/**/*.blade.php';
@source '../../../../storage/framework/views/*.php';
```

Paths are relative to `resources/css/filament/admin/theme.css`. IDE warnings on `@source` are expected; it is a Tailwind CSS v4 directive.

### Step B — Register the theme on the panel

[](#step-b--register-the-theme-on-the-panel)

In the same panel provider:

```
public function panel(Panel $panel): Panel
{
    return $panel
        ->viteTheme('resources/css/filament/admin/theme.css')
        ->plugins([
            FilamentKanbanPlugin::make(),
        ]);
}
```

### Step C — Register the theme in Vite

[](#step-c--register-the-theme-in-vite)

In `vite.config.js`, include the theme in the **`laravel-vite-plugin` `input` array** (a root-level `input` key is not used by the Laravel plugin):

```
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import tailwindcss from '@tailwindcss/vite';

export default defineConfig({
    plugins: [
        laravel({
            input: [
                'resources/css/app.css',
                'resources/css/filament/admin/theme.css',
                'resources/js/app.js',
            ],
            refresh: true,
        }),
        tailwindcss(),
    ],
});
```

The card modal includes scoped CSS for layout and the Cancel/Save footer, but **board cards, lists, and the full board view still require** the theme setup above.

### Tailwind v3 (legacy)

[](#tailwind-v3-legacy)

If your application does not use a Filament Vite theme, add the package views to Tailwind’s `content` paths instead:

```
// tailwind.config.js
content: [
    './resources/**/*.blade.php',
    './vendor/tales-virtualy/filament-kanban-board/resources/views/**/*.blade.php',
],
```

Ensure the resulting CSS is actually loaded by your Filament panel.

---

5. Build frontend assets
------------------------

[](#5-build-frontend-assets)

After creating or updating the theme file:

```
npm install
npm run build
```

For local development you may use `npm run dev` instead. Rebuild whenever you change `@source` paths or upgrade the package.

If styles still look stale after a production build:

```
php artisan filament:assets
php artisan view:clear
```

---

Optional configuration
----------------------

[](#optional-configuration)

### Publish config

[](#publish-config)

```
php artisan vendor:publish --tag="filament-kanban-board-config"
```

Options in `config/kanban.php`:

KeyDescriptionDefault`user_model`User model for relationships and policies`App\Models\User``system_user_id`User ID for system-generated activity logs`null``storage_disk`Filesystem disk for attachments`public``storage_directory`Base path for card uploads`kanban/card-attachments``tables`Database table names`boards`, `lists`, `cards`, `tags`, …### Storage link (attachments on `public`)

[](#storage-link-attachments-on-public)

```
php artisan storage:link
```

### Tags

[](#tags)

The package does **not** include a tag management UI. Tags live in the `tags` table (`FilamentKanban\Models\CustomTag`) and are attached to cards via `taggables`. Your application must create tags (seeders, Filament Resource, import, etc.).

```
use FilamentKanban\Models\CustomTag;

CustomTag::query()->updateOrCreate(
    ['slug' => 'urgent'],
    [
        'name' => 'Urgent',
        'badge_color' => '#ef4444',
        'text_color' => '#ffffff',
        'type' => 'Global',
        'order_column' => 1,
    ],
);
```

---

Usage
-----

[](#usage)

Open the panel and use the **Kanban** navigation item (label comes from package translations). The default route slug is `board-list-page`; the exact URL depends on your panel path (for example `/admin/board-list-page` or `/board-list-page` when the panel is mounted at `/`).

From the board list you can create boards, open a board, manage lists and cards, and use the card modal for details and collaboration.

---

Troubleshooting
---------------

[](#troubleshooting)

### `relation "boards" does not exist`

[](#relation-boards-does-not-exist)

Migrations have not been applied. Run `php artisan migrate`. If nothing runs, upgrade to **v1.0.10+** or publish migrations (see [Run migrations](#3-run-migrations)).

### Kanban menu appears but pages error on database tables

[](#kanban-menu-appears-but-pages-error-on-database-tables)

Same as above—complete migrations before using the UI.

### Board list shows only plain text / large black shapes

[](#board-list-shows-only-plain-text--large-black-shapes)

The plugin is working; **panel CSS is missing**. The board title is rendered without card layout styles, and avatar markup may appear as unstyled blocks.

**Fix:** Complete [Panel theme (required)](#4-panel-theme-required) and [Build frontend assets](#5-build-frontend-assets). Confirm `theme.css` is listed inside `laravel({ input: [...] })` in `vite.config.js`, not only as a separate root `input` property.

### `php artisan migrate` → “Nothing to migrate” (v1.0.9 or older)

[](#php-artisan-migrate--nothing-to-migrate-v109-or-older)

Older releases registered migrations as `.stub` files, which Laravel does not load automatically. Upgrade to **v1.0.10+** or publish migrations manually.

### Tags popover is empty

[](#tags-popover-is-empty)

Expected until your app creates rows in the `tags` table. See [Tags](#tags).

### Composer: package conflicts with `filament/filament ^5.0`

[](#composer-package-conflicts-with-filamentfilament-50)

Use **v1.0.8+** (prefer **v1.0.10+**) and install with:

```
composer require tales-virtualy/filament-kanban-board:^1.0.10 -W
```

### Private board visible but cannot open

[](#private-board-visible-but-cannot-open)

By design: private boards appear in the list for all users; only members see the board content. Others see a restricted-access message.

---

Uninstalling
------------

[](#uninstalling)

Removing the package is straightforward. There is no hidden coupling beyond the steps you added during installation.

### 1. Remove the Composer dependency

[](#1-remove-the-composer-dependency)

```
composer remove tales-virtualy/filament-kanban-board
```

### 2. Undo application wiring

[](#2-undo-application-wiring)

- Remove `FilamentKanbanPlugin::make()` from your panel provider’s `->plugins([...])` array.
- Remove the Kanban `@source` line from `resources/css/filament/admin/theme.css` (or your panel theme file).
- Run `npm run build` again so Tailwind drops unused classes.

### 3. Remove published files (if you published them)

[](#3-remove-published-files-if-you-published-them)

```
# Only if you ran vendor:publish earlier
rm config/kanban.php
# Remove published migrations from database/migrations/ if you copied them
```

### 4. Database and storage (optional)

[](#4-database-and-storage-optional)

Kanban tables are **not** dropped automatically when you remove the package.

To remove schema and data (irreversible):

```
php artisan migrate:rollback
# Or roll back only the Kanban migrations you published, by batch/name
```

Delete uploaded card files from your disk if you stored attachments (default path: `storage/app/kanban/card-attachments/` on the `public` disk, or whatever you set in `config/kanban.php`).

After rollback, your app returns to its pre-Kanban database state. Back up production data before rolling back.

---

Contributing
------------

[](#contributing)

Pull requests are welcome. For larger changes, open an issue first to discuss the approach.

```
git checkout -b feature/my-feature
# make your changes
git commit -m "feat: describe your change"
git push origin feature/my-feature
```

Please keep changes focused and match existing code style. See [CHANGELOG.md](CHANGELOG.md) for release history.

---

Changelog
---------

[](#changelog)

Release notes: [CHANGELOG.md](CHANGELOG.md).

---

License
-------

[](#license)

MIT. See [LICENSE.md](LICENSE.md).

---

Credits
-------

[](#credits)

Made by **[Tales Colver](https://github.com/tales-virtualy)**.

- [GitHub repository](https://github.com/tales-virtualy/filament-kanban-board)
- [Packagist package](https://packagist.org/packages/tales-virtualy/filament-kanban-board)
- [Contributors](../../contributors)

If this package helped your project, a star on GitHub is appreciated.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance90

Actively maintained with recent releases

Popularity18

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Recently: every ~33 days

Total

11

Last Release

47d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/99059299?v=4)[Tales Colver](/maintainers/tales-virtualy)[@tales-virtualy](https://github.com/tales-virtualy)

---

Top Contributors

[![tales-virtualy](https://avatars.githubusercontent.com/u/99059299?v=4)](https://github.com/tales-virtualy "tales-virtualy (12 commits)")

### Embed Badge

![Health badge](/badges/tales-virtualy-filament-kanban-board/health.svg)

```
[![Health](https://phpackages.com/badges/tales-virtualy-filament-kanban-board/health.svg)](https://phpackages.com/packages/tales-virtualy-filament-kanban-board)
```

###  Alternatives

[stephenjude/filament-feature-flags

Filament implementation of feature flags and segmentation with Laravel Pennant.

122177.8k1](/packages/stephenjude-filament-feature-flags)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
