An open API service indexing awesome lists of open source software.

https://github.com/m-media-group/le-chat

Add Chat to your Laravel App
https://github.com/m-media-group/le-chat

Last synced: about 2 months ago
JSON representation

Add Chat to your Laravel App

Awesome Lists containing this project

README

          

# 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

```bash
composer require mmedia/le-chat
```

Publish migrations and config:

```bash
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

```php
$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](https://github.com/munafio/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 โ†’](https://laravelchat.netlify.app/)

---

## ๐Ÿงช Comparison to Other Projects

* [Wirechat](https://github.com/namumakwembo/wirechat) โ€” Livewire-heavy
* [Musonza Chat](https://github.com/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 ยฉ