Basement Chat

screenshot of Basement Chat
laravel
vite
tailwind
alpinejs

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.

Overview

The Basement Chat package is designed to enhance user engagement, boost collaboration, and improve communication within Laravel applications through a real-time chat widget. Inspired by Aech's private chat room from Ready Player One, this package offers features such as real-time messaging, online status indicators, and customizable push notifications.

Features

  • Real-time messages: Instant communication between users.
  • User's online status: Visibility of users currently online.
  • User's typing indicator: Shows when a user is typing a message.
  • Messages read status: Indicates when messages have been read.
  • Configurable push notifications: Customizable push notifications from the client side.
  • Searchable contacts and messages: Easily find contacts and past messages.
  • Extendable actions behavior: Ability to extend and customize chat actions.
  • Lazy loading with infinite scroll: Efficiently loads messages with infinite scroll.
  • Intuitive design with TailwindCSS and Alpine.js: Attractive design using popular frontend frameworks.
laravel
Laravel

Laravel is a powerful and elegant PHP framework that provides developers with a comprehensive set of tools and features to build robust web applications. It follows the Model-View-Controller (MVC) architectural pattern, offering a clean and organized structure for writing efficient and maintainable code.

vite
Vite

Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

alpinejs
Alpine.js

Alpine.js is a lightweight JavaScript framework that simplifies the process of creating dynamic, reactive user interfaces on the web. It uses a declarative syntax that offers a higher level of abstraction compared to vanilla JavaScript, while being more performant and easier to use than jQuery.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

rollup
Rollup

RollupJS is a popular and efficient JavaScript module bundler that takes the code from multiple modules and packages them into a single optimized file, minimizing the overall size of the application and improving its performance.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.