
Install and set up the sqlite db browser, create a new database, and configure it in the project to prepare for migrations, models, and table creation.
Create messages and conversations models and migrations in a Laravel app, link sender and receiver to users via foreign keys, and include body, type, and timestamps, then migrate and verify.
Define model relationships for a realtime chat app: a user has many messages, a conversation has many messages, and each message belongs to a user and a conversation.
Install Livewire and create six Livewire components for a real-time chat app, wire routes and views, and troubleshoot the undefined variable error.
Structure livewire blade components for a real-time chat app by separating chat list, chat box, and send message to prevent interference, with three components nested in the main.
Install a sass compiler from the website, create resources/sass/chat.scss, compile output to public, and link the CSS in the blade layout for testing in the browser.
I will walk you though all the steps of designing our chat component so it can look pretty on all devices
Download the complete SASS resource below
Design the chatbox header by composing an image container, the user name, and an info section, and enhance it with icons and a responsive flex layout using bootstrap classes.
Create a new conversation between the logged-in user and a receiver by building the conversation model, validate IDs, and add the first message; test the flow in the browser.
learn to load messages in a Laravel Livewire chat app by selecting a user, emitting events to the chat box, and implementing responsive behavior for mobile displays.
Learn to load more messages in a Livewire chat app by paginating ten items, auto-scrolling bottom on new messages, and preserving scroll position when new messages arrive.
Build a real-time two-user chat in a Laravel Livewire app from scratch, test messaging across two browsers, and implement broadcasting and events to sync messages.
Learn how broadcasting uses web sockets to push real-time updates via events and channels. See how Laravel Echo and Pusher deliver notifications to logged-in devices, with Livewire listening.
Broadcasts a new chat message using a MessageSent event, configuring private channels and listeners to deliver messages in real time to the recipient.
Push broadcasted messages in a real-time laravel-livewire chat app to the correct user, update read status, and avoid polling for instant delivery.
Implement blue and single tick indicators for chat messages in a Laravel Livewire app, showing read status based on message owner, and dispatching read event when a chat is opened.
Build a dynamic unread count for a Laravel Livewire chat app by refreshing the database, recreating users, and implementing real-time unread message badges that reflect the correct receiver id.
Create a realtime 'one to one' responsive chat application that you can add to your Laravel-Livewire website , unlike other chat applications which use 'polling' , in this course we are going to use realtime broadcasting with Laravel so we deliver our messages in realtime to other users without the need for them to refresh their own page .
You will also learn how to send feedback/notification when a user receives a message. All this in real time :)
In this course you will learn how to :
Setup the Database structure of our Chat system
Create/start a new conversation with any user
Implement 'read & unread' messages count
Add ticks on our messages
Use the CSS super power SASS to design our chat component :)
Make our chat responsive on all devices ; Mobile ,Tablet ,desktop
Share data between Livewire components
Reduce server requests by updating only a few parts of our Chat Component using Livewire features
Who Should Take This Course?
both beginners and experienced Laravel web developers will benefit from this step by step set of tutorials. We will also be using some basic , JavaScript, and jQuery.
Students taking this course are required to have some basic knowledge in Laravel Livewire as it will be the core concept of our realtime front end architecture