PHPackages                             light-worx/filament-tasks - 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. [API Development](/categories/api)
4. /
5. light-worx/filament-tasks

ActiveLibrary[API Development](/categories/api)

light-worx/filament-tasks
=========================

Filament 5 plugin for interacting with the remote Tasks API via the tasks-api-client SDK

08↓50%

Since May 15Compare

[ Source](https://github.com/light-worx/filament-tasks)[ Packagist](https://packagist.org/packages/light-worx/filament-tasks)[ RSS](/packages/light-worx-filament-tasks/feed)WikiDiscussions Synced 3w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Filament Tasks API Plugin
=========================

[](#filament-tasks-api-plugin)

A **Filament 5** plugin that provides a full-featured Tasks management UI backed by the [`light-worx/tasks-api-client`](https://github.com/light-worx/tasks-api-client) SDK. All CRUD operations talk directly to the remote Tasks API — no local database tables required.

---

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

[](#requirements)

DependencyVersionPHP^8.2Laravel^11 | ^12 | ^13Filament^5.0light-worx/tasks-api-client\*---

Installation
------------

[](#installation)

### 1. Require the package

[](#1-require-the-package)

```
composer require light-worx/filament-tasks
```

Because the SDK (`light-worx/tasks-api-client`) is not yet published to Packagist you may need to add both repos as VCS sources in your `composer.json`:

```
"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/light-worx/tasks-api-client"
    },
    {
        "type": "vcs",
        "url": "https://github.com/light-worx/filament-tasks"
    }
]
```

### 2. Publish &amp; configure

[](#2-publish--configure)

```
php artisan vendor:publish --tag=filament-tasks-config
```

Add the following to your `.env`:

```
TASKS_API_URL=https://your-tasks-api.example.com/api
TASKS_API_TOKEN=your-api-token-here

# Optional
TASKS_NAV_GROUP="Task Management"
```

---

Registration
------------

[](#registration)

Register the plugin inside your **Filament Panel Provider** (e.g. `app/Providers/Filament/AdminPanelProvider.php`):

```
use Lightworx\FilamentTasks\FilamentTasksPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        // ... your other panel config
        ->plugins([
            FilamentTasksPlugin::make()
                // optional — override the sidebar group label
                ->navigationGroup('My Tasks')
                // optional — show summary stats on the dashboard
                ->withStatsWidget(),
        ]);
}
```

That's it. The **Tasks** resource will appear in the sidebar under the configured group.

---

Features
--------

[](#features)

### Tasks Resource (full CRUD)

[](#tasks-resource-full-crud)

FeatureDetails**List**Paginated table, server-side search &amp; filters**Create**Form with title, description, status, priority, due date, assigned-to**Edit**Pre-populated form, changes PUT back to the API**Delete**Single row or bulk delete with confirmation**Quick Complete**One-click "Complete" action on each row**Status badges**Colour-coded: Pending (yellow), In Progress (blue), Completed (green), Cancelled (red)**Priority badges**Colour-coded: Low (green), Medium (yellow), High (red)**Auto-refresh**Table polls every 30 seconds### Dashboard Widget (optional)

[](#dashboard-widget-optional)

Enable `->withStatsWidget()` to add a stats overview to the panel dashboard:

- Pending count
- In Progress count
- Completed count
- Cancelled count

---

How it works
------------

[](#how-it-works)

The plugin does **not** use Eloquent or any local database. Instead:

1. `ListTasks::getTableRecords()` calls `TasksClient::index()` and hydrates lightweight `Task` model instances (value objects) from the API response.
2. `CreateTask::handleRecordCreation()` calls `TasksClient::create()`.
3. `EditTask::resolveRecord()` calls `TasksClient::show()`.
4. `EditTask::handleRecordUpdate()` calls `TasksClient::update()`.
5. Delete actions call `TasksClient::delete()`.

All SDK calls respect the `base_url` and `token` you set in `config/filament-tasks.php`(or `.env`).

---

Configuration reference
-----------------------

[](#configuration-reference)

```
// config/filament-tasks.php

return [
    'base_url'         => env('TASKS_API_URL', 'http://localhost:8000/api'),
    'token'            => env('TASKS_API_TOKEN', ''),
    'navigation_group' => env('TASKS_NAV_GROUP', 'Task Management'),
    'navigation_sort'  => 10,
];
```

---

SDK contract expected
---------------------

[](#sdk-contract-expected)

The plugin assumes the `TasksClient` class (resolved from the container) exposes these methods:

MethodSignature`index``index(array $params = []): array``show``show(int|string $id): array``create``create(array $data): array``update``update(int|string $id, array $data): array``delete``delete(int|string $id): void``stats``stats(): array` *(optional — used by the widget)*Responses may be wrapped in `['data' => [...], 'meta' => [...]]` (paginated) or returned as a plain array — both formats are handled automatically.

---

Extending
---------

[](#extending)

### Custom navigation

[](#custom-navigation)

```
FilamentTasksPlugin::make()
    ->navigationGroup('Operations')
    ->navigationSort(5)
```

### Override a page

[](#override-a-page)

```
// app/Filament/Resources/TaskResource/Pages/ListTasks.php
use Lightworx\FilamentTasks\Resources\TaskResource\Pages\ListTasks as BaseListTasks;

class ListTasks extends BaseListTasks
{
    // add custom header widgets, actions, etc.
}
```

---

License
-------

[](#license)

MIT

###  Health Score

10

—

LowBetter than 0% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/ea0bc50646c6945dcca2ba35e4fb31723053703c3241c3c3440f9debb06bffb0?d=identicon)[bishopm](/maintainers/bishopm)

### Embed Badge

![Health badge](/badges/light-worx-filament-tasks/health.svg)

```
[![Health](https://phpackages.com/badges/light-worx-filament-tasks/health.svg)](https://phpackages.com/packages/light-worx-filament-tasks)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35916.4M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24016.2M20](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172445.0k18](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93459.5k6](/packages/botman-driver-telegram)

PHPackages © 2026

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