A Filament v4 package that integrates TickTick API into your Filament admin panel.
- PHP 8.2 or higher
- Laravel 10.x or 11.x
- Filament 4.x
Install the package via composer:
composer require buzkall/filament-ticktickPublish the package assets (optional):
php artisan vendor:publish --tag="filament-ticktick-config"
php artisan vendor:publish --tag="filament-ticktick-translations"Publish and run the migrations:
php artisan vendor:publish --tag="filament-ticktick-migrations"
php artisan migrateThis will create the ticktick_tasks table with the following columns:
id- Primary keytitle- Task titlecontent- Task description/contentstart_date- Task start datedue_date- Task due datepriority- Priority level (0: None, 1: Low, 3: Medium, 5: High)status- Task status (0: Active, 2: Completed)project_id- TickTick project identifiertags- JSON array of tagsticktick_id- Unique TickTick task identifiertimestamps- Created at and updated at timestamps
This package uses the buzkall/laravel-ticktick package which requires OAuth2 authentication with the TickTick API.
- Visit the TickTick Developer Portal
- Create a new application
- Copy your Client ID and Client Secret
- Follow the OAuth2 flow to obtain an access token (see the laravel-ticktick package documentation)
Once you have your access token, add it to your .env file:
TICKTICK_ACCESS_TOKEN=your_access_token_hereNote: For a complete OAuth2 implementation example, refer to the buzkall/laravel-ticktick package documentation. The OAuth flow involves:
- Redirecting users to TickTick's authorization page
- Handling the callback with the authorization code
- Exchanging the code for an access token
- Storing the access token securely
Register the plugin in your Filament panel provider (e.g., app/Providers/Filament/AdminPanelProvider.php):
use Buzkall\FilamentTicktick\FilamentTicktickPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
FilamentTicktickPlugin::make(),
]);
}- Manage TickTick tasks directly from your Filament admin panel
- Create, edit, and delete tasks
- Set priorities and due dates
- Organize tasks with tags
- Filter tasks by status and priority
- Full internationalization support (English and Spanish included)
- Type-safe enums for status and priority with automatic badge colors
The package uses Filament v4's Schema format for the resource definition, providing a modern and type-safe way to define forms and tables.
- Title (required)
- Content/Description
- Start Date
- Due Date
- Priority (None, Low, Medium, High)
- Status (Active, Completed)
- Project ID
- Tags
- Title (searchable, sortable)
- Priority (with badge colors)
- Status (with badge colors)
- Due Date
- Start Date
- Created/Updated timestamps
The package includes full translation support for English and Spanish. To publish and customize translations:
php artisan vendor:publish --tag="filament-ticktick-translations"This will publish the translation files to lang/vendor/filament-ticktick/ in your application.
- English (
en) - Spanish (
es)
enums.php- Status and priority labelsresource.php- Field labels and resource names
To add support for additional languages, simply copy one of the language directories and translate the values.
MIT