
Create a login page for a whatsapp-style app with React Router and hooks, implementing static components first, then integrate Meteor-based user management and TypeScript boilerplate.
Build a React login form component (part 2) using styled components, rendering a styled form with labeled inputs for username, telephone, and password, and a connexion button.
Build the static login component by wiring RightImg with FormLogin and a text message 'connect to start a conversation', ensuring children render inside RightImg.
Set up a three-field login state (username, phone, password) in FormLogin, implement a generic handleChange with TypeScript, and use React useState to manage input values.
Learn how to manage accounts and passwords with Meteor packages, create users with username, email, password, and profile, and work with Meteor.user and Meteor.userId.
Create a dummy users array in a TypeScript file, export it, and populate a fictitious user table for the WhatsApp clone, then verify with meteor mongo.
Introduce a two-pane react layout for WhatsApp clone by decomposing main into left and right, focusing on left to render chats and header with styled components, flexbox, moment, and FontAwesome.
Build left component for the react clone whatsapp app using styled components, creating Left.tsx with a styled left container (flex column, width 35%, height 100%, right border) and exporting.
Design and implement a reusable header component for a WhatsApp clone, with left icons, a center title and online subtitle, and right icons, using React FontAwesome and styled components.
Create dummy chats by developing a helper to populate the chat collection with dummy chat objects, using moment for timestamps and defining a DummyChat array with participants.
Create the ChatList component for a React WhatsApp clone, style it with styled components, and fetch all chats via meteor publish, planning to add ChatItem in the next video.
Display chats and messages by date with real-time text messaging, using FlipMove and react-meteor-data withTracker to animate and synchronize with the server.
Create a day component to display dates in the message box, using a blue day container and a day span driven by props.date, ready for rendering a date array.
Learn to render chat messages under each date with nested maps in a React app, creating reusable MessageText and MessageBox components that distinguish mine from others.
Create a helper function findLastMessage(chatId) that returns the most recent message by sorting messages by createdAt in descending order. Use it to display each chat's last message.
Define a StyledFABs component with styled.div, apply fabVisible-driven styles and hide the file input, then scaffold FABs.tsx and export default fabs for the React WhatsApp clone.
Create the FABItem React component for the WhatsApp clone, rendering a FontAwesome icon from iconName, supporting children, with a bg prop mapped by setBg to purple, orange, blue, or lightblue.
Implement a hidden file input in React part 2 of select a file, handle input changes, and log the selected file object to the console to prepare a modal preview.
Create a styled modal component in React, including header with an icon and title, body with image preview, and footer sections, plus a floating action button for sending images.
Learn to send image messages by updating the message flow to handle text and image types, upload the image, store its url in Session, and update the message via Tracker.autorun.
Import the header component and render it with props iconClass and icons, configure a FontAwesome close icon, and display the header title Info.
Learn how to close the OtherProfile component by clicking the icon, wiring onClick to props.onClose, and implementing handleClose to hide the panel and clear otherId.
Apply the think in React approach to decompose and build the LeftSide profile component, enabling editing of name, news, and profile picture, with a hover overlay for image upload.
Create the LSForm component with a styled container and a read-only input. Drive the title from the type prop (news or username) and include a descriptive left-side separator.
Learn to load and toggle the LeftSide component in a WhatsApp clone using the toggleLS function and LSVisible state, triggered by avatar clicks and LSHeader actions.
This lecture demonstrates controlled input fields in React, updating the user name on the server with a username method and handling news edits on the client via onChange and value.
Explore how to display a hover-activated avatar overlay in React, using a renderOverlay function, FontAwesome camera icon, and restricting the overlay to the LeftSide component via the inLS prop.
Learn to render a combined users list by mapping users to letters and corresponding UserItem cards, with proper keys and profile data like username and picture.
Fixes errors in a React WhatsApp clone by replacing the $ in check with $ all for participants, updates the findLastMessage logic, and handles empty messages and new chat creation.
Think in React to break down components, manage state, and connect with the Metero server. Build BigOverlay and ImageViewer to display or hide a profile picture via the OtherProfile avatar.
Build a static BigOverlay component in a React WhatsApp clone using styled components. Create StyledBigOverlay and BigOverlay.tsx, render children, and apply fixed full-screen, transparent background, and high z-index.
Build a static version of ImageViewer with styled-components, creating StyledImageViewer and a centered image container with a close icon. Implement the React ImageViewer to accept imageUrl and render an img.
Show and hide the ImageViewer overlay by clicking avatars, using React state with a BigOverlay and conditional rendering that passes imageUrl and handles onClose.
Display the WhatsApp favicon by linking whatsapp.ico in the public folder to the main.html head as a rel icon with image/x-icon, then verify it shows in the app.
Hide the popup by wiring the cancel button to onCancel, toggle visibility, and reset the title. Enable deleting messages and images, restricting deletions to the current user's messages.
Learn to delete a text message in a React WhatsApp clone by handling click events, passing the message id, and invoking a Meteor method to remove it.
This course was recorded in French but is subtitled in English.
It's been a long time since you tried to create your Social Network but you do not know where to start?
Well in this training I'll show you how to create a copy of WhatsApp Web.
Did you know that currently the official version of WhastApp Web is built with React and Styled Component?
React is an open source JavaScript framework maintained by Facebook. It allows you to create single page web applications, by creating components.
Styled-component is a javascript library that allows you to increase productivity and facilitate the creation of React visual components (UI components) by writing css code in a javascript file.
You've probably heard it said that in order to progress as a developer (programmer) you have to train on real projects and try to clone (reproduce), with your own code, the applications that you like.
That's how I got into the crazy idea of cloning WhatsApp Web with React and Styled Component. I was quickly stuck with a problem ... With React and Styled Component on the front-end it was the best but the problem is that WhatsApp is an instant messaging system, which means that messages have to arrive in real time. Something that is not easy to implement with javascript (socket) when you want to create an application of the size of WhastApp.
That's when I thought of Meteor which is in short a FullStack Javascript Framework that allows you to create real-time applications. It was a challenge for me, and once I was successful I was so happy that I told myself to share this with the Francophone community.
That's why I created this course which will allow you to create a copy of WhatsApp Web with your own codes. You can even be inspired by this to create your own version of WhatsApp.
I am Julien, web developer and author of the bestseller Ionic 4 - Create a Shopping Application. I love JavaScript and its Frameworks / libraries. I am particularly proficient in JQuery, TypeScript, Angular, Ionic, React, React Native, Meteor, Electron, NodeJs etc. And I have learned from experience that it is easier to learn to program with a project that we like. This is why this course is project oriented. We will learn how to build React web apps in real time by creating a copy (a clone) of WhasApp Web. Thanks also to Meteor, TypeScript, React Hooks and Styled Component. This is a unique opportunity for you. And it doesn't matter if you don't know Meteor or React Hooks or Styled Component because I will explain all of that to you in the training appendix.
"At the root of all success, there is the fact of having dared". So believe in yourself and you will arrive. For my part, I am committed to supporting you and responding to your concerns throughout the course.
Thanks to Udemy, this course is guaranteed satisfied or refunded for 30 days and without any conditions. If you don't like the course, it's easy, we'll reimburse you. So sign up now.
This training will allow you to:
Create a copy (a clone) of WhatsApp web, which will allow you to impress recruiters to get the job of your dreams;
Use React and Meteor together which will allow you to create web applications with real time communication;
To familiarize yourself with React Hooks and Styled Components which will allow you to create flexible and dynamic web designs to create your own social network;
Code in TypeScript instead of basic JavaScript when working with React and Meteor, which will allow you to add a touch of security when programming;
Use the publications / subscription and the Methods in Meteor to secure your application;
Use Tracker and withTracker to set up responsive programming, which will allow you to implement real time in less than 20 seconds for your entire application;
Filter Meteor collections, which will allow you, for example, to implement a user search system;
Use the Meteor ostrio:file package, which will allow you to set up a file upload system (images) for your application;
To master useState and useEffect which will allow you to create controlled inputs and update the DOM reactively;
Use styled components to add style to your components which will allow you to create dynamic styles and themes;
Use the moment javascript library to create and manipulate dates which will allow you to more easily manipulate and manage timezones and date formats according to your needs;
To use the Moment Component made available to us by react-moment, which will allow you to display the dates that have been created from the moment library;
Use the react-flip-move which will allow you in 3 clicks to animate your lists each time an item is added or deleted. To enrich your design for a professional look;
Using react-fontawesome which will allow you to display FontAwesome icons in a React component;
"What would you do if you weren't afraid? " Mark Zuckerberg
So wait no longer, click the button and register now and we'll meet on the other side to get started. Welcome to this React training.
P.S .: If you already have the basics, start directly with the introduction section.