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.

1.0.0 2025-03-21 08:43 UTC

This package is auto-updated.

Last update: 2025-03-21 08:50:00 UTC


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.

screen-1

GitHub stars GitHub issues License PHP Version Laravel Version Filament Version

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!