vadykoo / laravel-todo-board
A standalone Laravel kanban-style todo board with assignees, due dates, images, and drag-and-drop.
Package info
github.com/vadykoo/laravel-todo-board
Language:Blade
pkg:composer/vadykoo/laravel-todo-board
Requires
- php: ^8.1
- illuminate/auth: ^10.0|^11.0|^12.0
- illuminate/database: ^10.0|^11.0|^12.0
- illuminate/filesystem: ^10.0|^11.0|^12.0
- illuminate/http: ^10.0|^11.0|^12.0
- illuminate/routing: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- illuminate/validation: ^10.0|^11.0|^12.0
- illuminate/view: ^10.0|^11.0|^12.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
A standalone kanban-style todo board for Laravel. Drag-and-drop columns, assignees, due dates, rich-text descriptions, and image attachments — installable via Composer with no Voyager (or other admin panel) dependency.
Package: vadykoo/laravel-todo-board
Requires: PHP 8.1+, Laravel 10, 11, or 12
Install
composer require vadykoo/laravel-todo-board php artisan migrate php artisan storage:link
Migrations load from the package automatically. Optional publishes:
php artisan vendor:publish --tag=todo-board-config php artisan vendor:publish --tag=todo-board-views php artisan vendor:publish --tag=todo-board-migrations
Open /todo-board while authenticated.
Features
- Four columns: To do, In progress, Review, Done
- Drag-and-drop reordering (plus a one-tap “mark done” control)
- Assignees and due dates
- TinyMCE rich-text descriptions
- Image attachments (served privately through package routes)
- Visibility rules: users see their own tasks; designated users see everything
Configuration
Publish the config file, then edit config/todo-board.php:
| Key | Default | Purpose |
|---|---|---|
route_prefix |
todo-board |
URL prefix |
route_name_prefix |
todo-board. |
Route name prefix |
middleware |
['web', 'auth'] |
Route middleware |
user_model |
\App\Models\User::class |
Eloquent user model |
view_all_user_ids |
[1] |
User IDs that can view/manage all tasks |
assignees |
null |
Optional callable to filter assignable users |
disk |
public |
Filesystem disk for images |
Who can see all tasks
The Gate todo-board.view-all defaults to allowing IDs listed in view_all_user_ids. Override it in your app if you prefer roles:
use Illuminate\Support\Facades\Gate; Gate::define('todo-board.view-all', function ($user) { return $user->hasRole('admin'); // your own check });
Everyone else only sees tasks where assigned_to is their user id.
Limit assignees
// config/todo-board.php 'assignees' => function ($query) { return $query->where('is_admin', true); },
Legacy App\User models
'user_model' => \App\User::class,
Voyager (optional)
This package does not depend on Voyager. If you still use Voyager in the host app, you can add a menu item that points at the todo-board.index route yourself — that wiring stays in the host application.
Local path develop
{
"repositories": [
{
"type": "path",
"url": "../laravel-todo-board",
"options": { "symlink": true }
}
],
"require": {
"vadykoo/laravel-todo-board": "*"
}
}
License
MIT