Skip to content

Laravel messenger app using rtippin/messenger. Private and group threads with real-time messaging, reactions, attachments, calling, chat bots and more!

Notifications You must be signed in to change notification settings

rich308/chat_app

Repository files navigation

[Messenger Demo App]

Preview


Checkout the [LIVE DEMO]

Prerequisites

  • PHP >= 8.0.2
  • Laravel >= 9.x
  • MySQL >= 8.x
  • [PHPREDIS]if using redis for drivers, which our default .env.example has set.

Notes

  • This demo is meant to be seeded before use. Registration also assumes a pre-seeded database, as we automatically create threads between the admin user and a newly registered user, as well as set friendships.
  • Calling will be disabled by default. Even though we have our [janus-client] installed, you are responsible for setting up your own Janus Server.
  • Please see [Janus official docs] for more information.
  • We use pusher.com by default for our websocket implementation, however you may choose to use the drop-in replacement [laravel-websockets]

Installation

Clone or download this repository

git clone .........................

Composer install

composer install

Rename the .env.example to .env and configure your environment, including your pusher keys if you use pusher.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=1234
DB_DATABASE=demo
DB_USERNAME=root
DB_PASSWORD=password
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=
MESSENGER_SOCKET_PUSHER=true
MESSENGER_SOCKET_KEY="${PUSHER_APP_KEY}"
MESSENGER_SOCKET_CLUSTER="${PUSHER_APP_CLUSTER}"
#etc

Run the Install Command

  • This command will generate your APP_KEY for you, as well as migrating fresh and downloading our documentation files.
    • This will WIPE any data in your database as it runs migrate:fresh under the hood.
php artisan demo:install

Running locally:

Run these commands in their own terminal inside your project folder

php artisan serve
php artisan queue:work --queue=messenger,messenger-bots

Default seeded admin account:

Email admin@example.net

Password: messenger

All other seeded accounts use messenger password as well


UI configurations / Websockets

  • If you plan to use [laravel-websockets], or want more information regarding our UI, please visit our documentation:

Pictures

Sending images, voice messages, replies, and reactions

Preview


Interacting with a chat-bot using triggers to invoke responses

Preview


Viewing a bots actions and triggers

Preview


Managing a groups participants

Preview


In a video call

Preview


Sending documents and images, hovering over options / reactions

Preview

About

Laravel messenger app using rtippin/messenger. Private and group threads with real-time messaging, reactions, attachments, calling, chat bots and more!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published