raseldev99 / filament-messages
Filament Messages is a powerful messaging plugin for FilamentPHP. It provides an easy-to-use interface for real-time messaging within Filament admin panels.
Requires
- php: ^8.2
Requires (Dev)
- filament/filament: ^3.2
- filament/spatie-laravel-media-library-plugin: ^3.2
- laravel/framework: ^11.31
- phpunit/phpunit: ^11.0.1
README
Filament Messages is a powerful messaging plugin for FilamentPHP. It provides an easy-to-use interface for real-time messaging within Filament admin panels.
Key Features:
- Seamless Integration: Designed specifically for FilamentPHP, making it easy to integrate into your admin panel.
- User-to-User & Group Chats: Enables both private conversations and group discussions.
- Unread Message Badges: Displays unread message counts in the sidebar for better visibility.
- File Attachments: Allows sending images, documents, and other media.
- Database-Driven: Uses Eloquent models for structured and scalable messaging.
- Configurable Refresh Interval: Lets you set the chat update frequency for optimized performance.
- Timezone Support: Allows setting a preferred timezone to maintain consistent timestamps across messages.
Table of Contents
Getting Started
Prerequisite
User Model
Admin Panel Provider
Plugins Used
Acknowledgments
Support
Getting Started
You can install the package via Composer:
composer require raseldev99/filament-messages
Run this command to install all migrations and configurations.
php artisan filament-messages:install
Prerequisite
This plugin utilizes Filament Spatie Media Library. Please follow the steps below.
Install the plugin with Composer:
composer require filament/spatie-laravel-media-library-plugin:"^3.2" -W
If you haven't already done so, you need to publish the migration to create the media table:
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-migrations"
Run the migrations:
php artisan migrate
Or follow the documentation here.
User Model
Add the trait to your User model:
<?php use Raseldev99\FilamentMessages\Models\Traits\HasFilamentMessages; class User extends Authenticatable { use HasFilamentMessages; } ?>
Admin Panel Provider
Add this plugin to your FilamentPHP panel provider:
<?php use Raseldev99\FilamentMessages\FilamentMessagesPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel ->plugins([ FilamentMessagesPlugin::make() ]); } } ?>
Plugins Used
These are Filament Plugins use for this project.
Plugin | Author |
---|---|
Filament Spatie Media Library | Filament Official |
Acknowledgments
Support
Show Your Support
Give a ⭐️ if this project helped you!