
Explore a whatsapp-like chat app with messaging, image uploads, and voice recording, as shown in the intro video, including how messages display in chat and handle connectivity.
Set up a budget-friendly development environment by selecting your operating system and starting the installation after clicking the first link, using a BMI score suggestive sample value.
Learn how to download and install composer, the PHP dependency manager, and verify its installation by running the composer command in your terminal.
Create the necessary files and folders to structure the WhatsApp clone project, including media and content directories, and set up the local environment for initial testing.
Install Ratchet to enable web socket support in PHP, and use Composer to download the dependency and integrate the library into the project.
Create a stable user table for the WhatsApp clone, defining id, username, email, password, first name, last name, profile image, and an online status with a default offline value.
Create and link the register page for the WhatsApp clone, then design a centered sign-up container with responsive margins and background styling for browser rendering.
Create and validate an input field for user data in the WhatsApp clone, configure name, email, and password inputs, and implement post requests with required validation.
Style the input field inside a form by configuring email and password inputs, adjusting font size, borders, outline, and colors, then preview changes in the browser.
Add the section title and refine the WhatsApp clone interface. Adjust padding, margins, and colors, configure layout values, and refresh the browser.
Create the login page for the WhatsApp clone, wiring a login form that accepts email or username and connects to PHP and MySQL for authentication and registration flow.
Split the code into a header file to modularize the application, manage includes and script flow, and validate browser behavior as you adjust login and registration logic.
Detect form submissions by validating required fields and ensuring the request method is post. Securely process form data with proper action targets, post handling, and basic anti-malicious input practices.
Sanitize the first name input before sending it to the database by escaping special characters and removing malicious code. Learn to enforce case, trim spaces, and validate input.
Create a new file named FormSanitizer and implement public static methods in PHP, then include the file to enable form sanitization.
Apply and test input sanitization for emails and usernames in the WhatsApp clone project, demonstrating sanitized data handling in the registration flow.
Learn how to connect to our database for the WhatsApp clone, creating a constant and an instance of a class to manage the connection.
Create the account class for the WhatsApp clone, implement input validation, and connect to the database to handle new accounts.
Validate the first name input by enforcing a length of 2 to 25 characters and displaying an error message when invalid. Integrate the validate first name logic into the form.
This lecture demonstrates creating a PHP constants class, using public static values to centralize reusable constants, include the class across files, and prevent code repetition.
Validate a username in a registration flow, check duplicates in the database using prepared statements, and display an error when the username is already taken.
Learn how to validate emails during signup by checking if the address is valid and whether it already exists in the database, and display error messages and user interface feedback.
Validate password input in the WhatsApp clone masterclass, enforcing length between five and ten characters and alphanumeric checks, with clear error messages during registration.
Create an insert user data method by validating inputs, ensuring fields are not empty, and inserting username, password, first name, last name, email, and profile image into the database.
Rework the login functionality for the whatsapp clone by adjusting the login form, removing email, updating to username and password fields, and wiring the login process in the BHP system.
Create a user class and establish a database connection by instantiating the Database class in PHP, wiring user handling to the login flow and ensuring access to the login page.
Develop a getSessionID method to obtain and log in a user session by using the user ID and access, store it in the database, and test via browser output.
Learn to implement a get method in PHP to fetch data from MySQL, constructing dynamic queries from table and column names and handling key-value pairs.
Learn how to link a favicon to your site, update the page title, and manage asset paths in your project to ensure the icon appears correctly across pages.
Create a two-column app layout using flex or grid, defining a main area and a sidebar for chat, assets, and messages, with image handling.
Learn to implement a logout feature in a WhatsApp clone built with WebSockets, PHP, MySQL, and JavaScript. Develop the logout action to terminate the user session and clear session data.
Develop and implement the search method in the WhatsApp clone, detailing query design, parameter handling, and fetching results with PHP and MySQL.
Implement live search functionalities in a WhatsApp clone by querying the database in real time as users type, displaying matching usernames or a no user found message.
Develop the update method to modify records in the code base, map fields to new values, update table columns, and ensure dollar values are correctly applied.
Create the create method by mapping input values to table columns, formatting values for insertion, and avoiding unnecessary or duplicate columns to ensure clean database records.
Create a MySQL messages table with five columns, including message_id, message content, created_at timestamp, message_type (text, image, audio, video), and status. Insert sample data and verify the table structure.
Create the messages class to handle sending and counting messages, build queries to join messages with users, and test message retrieval in a PHP, MySQL, WebSockets environment.
Display the recent messages dynamically in the WhatsApp clone by fetching message data and rendering it on the fly, using PHP, MySQL, and JavaScript with WebSocket integration.
Set up the websocket server and establish a client-server connection to enable message sending in a WhatsApp clone, testing the flow via browser, terminal, with PHP, MySQL, and JS.
Create the message page for the WhatsApp clone, implement a Messenger module, validate and sanitize user input, attach messages to users by id, and display messages by username.
Create the updateMessageStatus method to update a message's status in the messages table within a php and MySQL WhatsApp clone.
Create a dynamic chat area that displays messages with sender and receiver context, using avatar icons and assets from the images folder, styled with flex layout.
Develop a dynamic messageData method that compiles user id, message content, and status, then triggers the send function to transmit messages in the WhatsApp clone.
Create a dynamic chat footer for a whatsapp clone, featuring the message input, image upload, and microphone icon with responsive styling and asset handling using websockets, php, mysql, and js.
Master token-based WebSocket connections to identify users, send real-time messages between clients, and parse query strings while managing connections in a WhatsApp-like app.
Create a real-time online status indicator for chat partners using web sockets. Send user data and online state to clients and update the user interface when a user connects online.
Display offline user status when a browser closes or the connection drops, implementing online to offline logic with socket-based messaging to notify connected clients only when the user is online.
Make the textarea functional to input and send chat messages, incorporating emoji support and rendering the chat feed in a message container for an interactive WhatsApp-like clone.
Insert message data into the database by handling json messages, sanitizing input to prevent malicious code, and enabling query-based display of messages to users.
Explore displaying and sending messages to another user in a whatsapp-like clone, handling sender and receiver data, and updating chats in real time with web sockets and PHP MySQL backend.
Learn to implement robust input file handling in a WhatsApp clone, including image and PDF uploads, client-side validation, change event handling, and clear error messages.
Learn to insert post images into the database for a WhatsApp clone by capturing sender and receiver IDs, handling image uploads, and validating form data with PHP, MySQL, and JS.
Display a post image from the database and render it in the browser, illustrating how media is retrieved and shown within the WhatsApp clone masterclass.
Display the post image dynamically in a WhatsApp clone, without refreshing the page, by managing image assets and JavaScript integration.
This lecture guides building the messaging feature to send a post image to another user, including image upload, message content handling, and testing the sending flow.
Fix online user bug in the WhatsApp clone using WebSockets by preventing broadcasts to all connected users and implementing user-id based messaging during login and connection.
Create the html element for stop recording and attach an id to its control, learn how it relates to start recording, and explore basic display toggling for the recording feature.
Demonstrates accessing local audio and video using getUserMedia, applying constraints, requesting microphone access, and handling permissions to create media streams for a WhatsApp clone chat app.
Develop and test handleSuccess functionalities for the WhatsApp clone, implementing media recording flows with the microphone icon, start/stop recording, and media stream handling.
Insert audio data into the database by uploading audio files, mapping sender and receiver IDs, and posting messages in a WhatsApp clone using PHP and MySQL.
Learn how to display audio files stored in a database within a WhatsApp style chat, rendering audio media dynamically to other users and handling associated media like images.
Develop real-time audio messaging in a WhatsApp-style chat using WebSockets, PHP, and MySQL, enabling users to send audio files to another user and manage playback and downloads.
Do you want to be pro web developer or want to create a real time messaging system just like whatsapp?
Do you want level up your coding skill in php, mysql and javascript?
If so, you’re in the right place! This course will guide you step by step in creating your own messaging system just like whatsapp COMPLETELY from scratch.
We’re talking the kind of website that will amaze anybody that sees it. The kind of website that will get you hired in no time!
Okay so what’s the course about?
I will personally guide you, step by step, in creating your own messaging system site just like whatsapp complete with:
User registration
WebSocket Server
Clients Connections Logic
Live search system
Ratchet
Clean Friendly URLs
and much more!
Whether you are a beginner* or an experienced programmer, this course will be massively beneficial to you.
Why should I take the course?
In the programming world, the “big 4” often consists of Google, Microsoft, Facebook and Amazon. To get a job at any of these companies, you absolutely MUST know the essentials: HTML, CSS, PHP, JQuery, JavaScript and MySQL.
If you take this course, you will have nothing to worry about because we use all of these skills extensively!
Support:
By enrolling in this course, you will have the COMPLETE support from Christopher Glikpo. I'm always ready to answer any question you may have. Programming issues, errors, feature requests, general programming advice - it doesn't matter, I'm always happy to help! I always aim to respond to questions within a few hours and it's also worth noting that I've answered EVERY SINGLE question asked so far.
Project portfolio:
The site you create in this course will be the highlight of your project portfolio! Any potential employer who see's this project on your resume will want to hear all about it. The reason? They know that a project like this means you're familiar with the wide range of technical skills they need their employees to know.
Fun!
Finally, this project is a lot of fun and I know you'll have a great time implementing your own unique ideas as well as the ones we implement together. What are you waiting for?
* Although this course is suitable for beginners, it is not an introduction to development course. I won't go into much detail when explaining the basic programming concepts but I'm here to help if you want more of an explanation - just let me know!