Skip to content

M-Media-Group/le-chat

Repository files navigation

Le Chat

Le Chat adds rich, flexible chat functionality to your Laravel application with minimal setup and maximum customization. Whether you're building one-on-one messaging, group chatrooms, or bot integrations, this package gives you the tools to implement powerful conversations between any models in your app.


🚀 Features

  • Send messages between any models
  • One-to-one and multi-user chatrooms
  • System messages and bot support
  • Unread message tracking
  • WebSocket connection detection
  • Notifications via Laravel and WebPush
  • REST API endpoints included
  • No frontend views — bring your own UI

📦 Installation

composer require mmedia/le-chat

Publish migrations and config:

php artisan vendor:publish --tag="chat-migrations"
php artisan migrate

php artisan vendor:publish --tag="chat-config"

🧠 Core Concepts

  • Chatroom: A conversation space containing messages and participants
  • ChatParticipant: A polymorphic link between your models and a chatroom
  • Message: A message sent by a participant in a chatroom
  • IsChatParticipant Trait: Add to any model to enable chat behavior

✅ Requirements

  • PHP 8.0+
  • Laravel 11+

✨ Quick Example

$message = $user->sendMessageTo($otherUser, "Hello!");
$reply = $otherUser->sendMessageTo($user, "Hi back!");

Easily send messages to:

  • Individual users
  • Multiple recipients
  • Entire chatrooms
  • Non-model participants (bots, services, etc.)

🔥 Why Not Chatify?

Unlike Chatify, Le Chat does not limit messages to one sender and one recipient. This package supports:

  • Multi-participant chatrooms
  • Flexible polymorphic model support
  • Bots and non-DB participants

📚 Full Documentation

See the complete usage guide for in-depth examples, APIs, and advanced features:

👉 View Full Docs →


🧪 Comparison to Other Projects

  • Wirechat — Livewire-heavy
  • Musonza Chat — Feature-rich but complex
  • Le Chat — Simple API, full flexibility, no view layer

🙋‍♂️ Use Cases

  • Teacher ↔ Student chat (one-on-one)
  • Teachers + Students group chats per class
  • Chatbot ↔ User conversations
  • Cross-platform relay (e.g. Slack integration)

📖 License

MIT ©

About

Add Chat to your Laravel App

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages