Basement Chat is a real-time chat widget package


July 7th, 2023

Basement Chat is a real-time chat widget package

Basement Chat is a package for Laravel that offers real-time chat widget package for your Laravel application with flexible broadcast driver support. Built for Laravel using PHP, TypeScript, Alpine.js, and Tailwind CSS, it provides broadcast notifications for logged-in users:

Basement Chat example

Once you've installed this package and configured the User model to have the ability to receive private messages, you can include this chat widget with the provided blade component (assuming this view is rendered for an already logged-in user):

{{-- ... --}}
<x-basement::chat-box />

This package supports PHP +8.0 and Laravel >= 9.x. On the client-side, it supports chrome >= 80, edge >= 80, firefox >= 74, and you can use it with various CSS frameworks without any styling conflicts. According to the package's readme the main features include:

  • Real-time messages
  • User's online status
  • User's typing indicator
  • Messages have been read status
  • Configurable push notifications from the client side
  • Searchable contacts and messages
  • Extendable and customizable actions behavior
  • Lazy loading with infinite scroll messages
  • Intuitive and attractive design using TailwindCSS and Alpine.js
  • Can be used with various CSS frontend frameworks such as Bootstrap and TailwindCSS without worrying about style conflicts
  • Flexible broadcast driver support for Pusher, Ably, Soketi, Laravel Websockets, or any other Laravel supported broadcast driver, it's up to you to decide.

This package is highly customizable, including the ability to provide chat features to specific users, customize styles and views, and more. Check out the readme for details.

You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.