Cademy logoCademy Marketplace

Course Images

React JS Masterclass - Go From Zero To Job Ready

React JS Masterclass - Go From Zero To Job Ready

🔥 Limited Time Offer 🔥

Get a 10% discount on your first order when you use this promo code at checkout: MAY24BAN3X

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 34 hours 49 minutes

  • All levels

Description

This course offers everything you need to become a React developer, from basic to advanced concepts. The course delves deep into custom hooks, Tailwind CSS, React Router, Redux, Firebase, and React Skeleton. You will learn to build real-world apps with React (eCommerce, Movie Informer, Todolist Manager, Blog, and Word Counter).

This course begins with an in-depth introduction to React software and its features, pros and cons of use, and outlines the fundamentals, including components and props, state, hooks, context, and reducers. Over the course duration, we will explore JSX and components state and props, event handling, and built-in hooks (for example, useState, useEffect, useCallback, and useRef). We will then work with forms and validations and handle form data. We will understand client-side routing with React Router and work with multiple APIs and handle data for projects. You will learn to integrate other libraries and frameworks (for example, Redux) with React. We will explore testing and debugging React apps using popular libraries such as Jest, RTL, and React DevTools. You will then learn about DOM manipulation and manipulating the virtual DOM, server-side rendering, and optimizing the performance of React apps. Finally, we will explore the best practices for structuring and organizing React projects and building and deploying production-ready React apps, including code splitting and optimization techniques. Upon completing the course, you will be ready to work practically on React and implement the concepts individually! More importantly, you will have the potential to build, test, and deploy your projects created using React and JavaScript. All resources are available at: https://github.com/PacktPublishing/React-JS-Masterclass---Go-From-Zero-To-Job-Ready

What You Will Learn

Learn React basics: components, props, hooks, context, and reducers
Explore Tailwind CSS, React Router, Redux, Firebase, React Skeleton
Build a mock eCommerce backend with JSON server and deploy it on Railway
Deploy your created projects on Netlify using Git and GitHub
Test your developed application with Jest and React testing library
Work with multiple APIs to make use of available third-party data

Audience

This comprehensive course is designed for anyone wanting to learn React from basic to advanced levels. The course caters to developers with some experience with JavaScript and web development who want to learn to build dynamic and responsive user interfaces using React. The prerequisites include prior knowledge of HTML, CSS, and JavaScript.

Approach

This course broaches every important topic through concept explanation, documentation, and implementation over a well-structured, step-by-step approach. The course is designed for beginners to understand the concepts easily and build React projects independently. Learn all essential concepts in a simple manner with several examples and real-life projects.

Key Features

Build apps with React 18 and JavaScript ES13 (eCommerce, Movie Informer, Todolist, Word Counter) * Learn to test/debug React applications using popular libraries such as Jest, RTL, and React DevTools * Build and deploy production-ready React apps, including code splitting and optimization techniques

Github Repo

https://github.com/PacktPublishing/React-JS-Masterclass---Go-From-Zero-To-Job-Ready

About the Author

Shubham Sarda

Shubham is a software developer and digital marketer with a passion for teaching. He has worked with many funded start-ups, self-projects, and as a top-rated freelancer on multiple marketplaces. Currently, he stands among the top 700 freelancers with over 2,500+ projects on Fiverr, PeoplePerHour, Freelancer, and more. As an instructor, he has taught programming and digital marketing to over 20,000 students, both with online courses and offline bootcamps. He has mastered explaining complex topics in the simplest form that is easy to understand and follow. His video courses are also used by companies to train their employees and by colleges to prepare and upgrade their students according to the latest industry requirements.

Course Outline

1. Introduction and Resources

This section briefly introduces the course content, what you will learn in this course, why learning from this instructor is beneficial, and the benefits of learning about React.

1. Course Introduction

This introductory video provides an overview of the course's content, the pros and cons of learning about React 18, its features, and what you will learn from the course, along with a brief outline about the instructor.

2. Resources (Important)

In this video, you will learn about the resources used in this course and the multiple tools and code files we will use. The instructor explains everything about the code/resources in detail.


2. React Basics and Setup

This section focuses on the basics of React, how to install and configure React, the pros and cons of learning React, and the prerequisites for learning React.

1. React Introduction

This introduction by the instructor delves deep into React, why we should learn it, its features and advantages, and its prerequisites.

2. Environment Setup

In this lesson, we will discuss the environment setup of certain software for Node, certain packages, and how to prepare the system for working on React.

3. Create React App

This lecture demonstrates how to create a React application. We will understand the version and documentation to be used for our learning. We will create the package for our projects, which we will use throughout the course for training.

4. React Behind the Scene

In this lesson, we will explore the folder structures and behind-the-scene processes, including the source folder, public folder, gitignore, and all other dependencies.

5. React Boilerplate / 005

In this video, we will start our coding journey from the basics. We will understand the required functional folders for our React coding operations in detail.

6. Components: Class- and Function-Based / 006

This video discusses components, where you will learn about class-based and function-based components. We will also create a new project setup.

7. JSX: In-Depth Introduction / 007

In this video, you will learn about JSX in-depth, a syntax extension for JavaScript that lets you write HTML-like markup inside a JavaScript file.

8. Practice: Basic Template Structure / 008

After learning how to create components, add CSS on our website, and add emojis, we will now create a small app based on what we have learned from previous lessons.


3. States and useState

This section focuses on the concept of "state". We will understand deeply what a state is and why we require states. You will learn to update states with the useState and setState functions and apply conditional templates.

1. Why We Need States? / 009

In this lesson, you will learn about a state, the current value of a variable, which can constantly change, increase or decrease based on the function called. The state defines how a variable behaves at any given point.

2. State Introduction: useState / 010

In this video, we will explore further about a state and then understand in detail the useState, a React hook that lets you add a state variable to a component.

3. useState: Multiple Updates / 011

In this video, we will discuss the problems we face when using the setCount. The value of the Count remains constant; hence, when using multiple iterations of a setCount function, the value of the variables does not change either.

4. useState: Array State Value / 012

Here, we will continue to understand the useState, but this time, we will not just use it with integers, we will use arrays. We will create a task list and experiment with using tasks.

5. useState: Array setState Value / 013

We will continue the lessons on useState; here, you will learn more about setTask. The lesson will show you how to delete the tasks we created in the previous lecture.

6. Conditional Templates / 014

This video discusses a conditional template, which allows us to compare multiple elements with True or False return values and apply certain changes. These are templates by which we set up a condition, and it executes a code after satisfying the condition.

7. Quick Hook Advice / 015

In this lesson, we will explore a few quick tips while using hooks in our coding. We will go through the do's and don'ts while using hooks and other exceptions while using hooks.


4. Components and Props

This section focuses on a mix of components and props. We will look at multiple components, understand fragments, and then learn how to use props with various approaches.

1. Multiple Components and Fragments / 016

After understanding components, we will now understand the various components in use. We will also create different components and understand what fragments and component trees are.

2. Props: In-Depth Introduction / 017

After learning about components and component trees in this video, we will focus on props in detail. We will understand what props are and how they are used in codes and properties with dynamic values.

3. Props: Children / 018

In this video, you will learn about property child or children, which are offsets of the properties passed on from the parent props to the child props or children props.

4. Prop Drilling / 019

Here, we will understand the concept of prop drilling, which means we dig deep into the properties or props by passing the prop's components from one to another.


5. Styling React Application

This section focuses on styling a React application using CSS. We will understand global styling and component level, inline, dynamic, and module styling.

1. Global Level Styling / 020

In this video, you will learn about the global level of styling, where the styling of the components or elements are available everywhere and are the generalized stylings applicable throughout, usually referred to as index.css.

2. Component Level Styling / 021

After exploring index.css, we will look at the component-level styling. We will understand the structure of a component that involves styling.

3. Inline Level Styling / 022

Let's examine what inline CSS is and where the style applies to a particular inline segment. We create an object and pass the styling parameters applicable to this inline segment.

4. Dynamic Level Styling / 023

In this lecture, you will learn about dynamic class names and dynamic CSS styling, which involves conditional arguments passed as True or False values and then performing a task assigned to it.

5. Module Level Styling / 024

In this video, we will look at styling the module with CSS, but the scope of the styling is restricted to a particular module only and not applicable elsewhere.


6. User Input, Events, and useRef

This section focuses on user input and playing around with hard-coded data. You will now learn to create forms, events, and inputs; add new tasks; and understand the UseRef hook.

1. Forms and Input / 025

In this lesson, you will learn to create forms and provide user input into the forms to collect data or add and delete tasks. You will learn to control the way the form behaves in accepting inputs.

2. Event / 026

In this video, we will examine the listener that we will work with, which calls a function that will execute a task every time there is a change in the input, an anonymous function, or create a function based on our requirement.

3. Controlled Inputs / 027

In this lecture, you will learn to create a button on our app that will allow us to control the input by resetting the input value in the task name field.

4. Event / 028

Let's learn to create submit buttons, enabling us to accept the input values through forms or input tabs. We can make the submit buttons and get inputs through data storage functions.

5. Add New Task / 029

After learning how to input data or tasks using forms and accepting the tasks or data using the submit button, we will now examine how to create new tasks, which will receive inputs from the tasks and add them to the task list we created earlier.

6. useRef Hook / 030

In this video, we will explore a hook, useRef, which will allow us to reference an unnecessary value for rendering. This is used to reference a value, manipulate a DOM with a reference, and avoid recreating reference content.


7. useEffects, useCallback, and Custom Hooks

This section focuses on creating our APIs in the front end, and we will discuss hooks and learn to create our custom hook. You will also learn about the JSON server and how to create fake APIs.

1. JSON Server / 031

This lesson will explore the JSON server and how to create front-end APIs. You will also learn to create a fake REST API on the JSON server.

2. useEffect Hook / 032

In this lecture, you will learn to call an API, access the information, and then create the user interface to display the information. We will understand the useEffect hook that accepts a function that contains imperative and possibly effective code.

3. React StrictMode

Let's learn about an interesting feature, a common doubt that may occur in our minds, where we loaded the conole.log once, but the information is repetitive. You will learn how the useEffect hook works here.

4. List Output / 035

In this video, you will learn to complete the user interface for the useEffect hook. We will create a function and fetch a component to create a simple UI to display presentable information.

5. Event / 036

In this lecture, you will learn how to utilize a URL and how to use Async Await, and the functions we will use for the process. You will learn to segregate data based on specified conditions.

6. useCallback Hook / 037

In this video, you will learn about the useCallback hook, as the useEffect hook requires dependencies within the function. In contrast, the useCallback hook does not require a dependency within it and can call dependencies from outside the function.

7. Custom Hook (useFetch) / 038

In this lecture, you will learn how to create a custom hook, which are functions that perform a task or fetches the information. You will learn to create a custom hook and call that hook in the code whenever we need information.

8. Loading State / 039

Let's focus on the new loading feature, where we will create a state to show the loading of elements. Now that you have learned to fetch elements using a hook, you will now learn to load elements and display the loading image as we wait.

9. Handling Errors (try/catch) / 040

In this video, we will discuss handling errors, which include server errors, wrong URLs, and so on.

10. Aborting Fetch Request / 041

In this lesson, we will discuss aborting a fetch request in the middle of an execution. This can be the case if we want to hide a code segment from rendering or change the rendering sequence.

11. Infinite Loops / 042

In this lecture, we will discuss passing primitive values and passing a function using a callback. We will use the useRef hook to create a reference for the elements and values.


8. Project: TaskMate

This section focuses on creating a project based on the contents learned thus far. We will create components, tasks, buttons, task lists, and local storage, work on changing background themes, and finally deploy the project.

1. TaskMate Demo

In this demonstration of the project, you will learn to create displays and we will build the project based on the concepts learned. We will make a project called TaskMate, a to-do list.

2. Project Structure

In this lesson, we will start our project from the basics. We will create the folder structure, create a basic React app, and call it TaskMate. We will create the basic setup for the project.

3. Components / 045

We will work on building the user interface for our TaskMate application. We will create a components folder in the source and develop components, header, Addtask, and Showtask. We will create the input box and basic CSS styles.

4. State: tasklist and setTasklist / 046

We will create a state called tasklist to add tasks, delete tasks, and edit tasks inside the task list. You will learn to add local time and date strings.

5. Function: Edit and Delete / 047

After learning to create the task list to add and delete tasks, we will now look at the functionality of creating the edit option and the delete option.

6. Warning: Undefined Value / 048

In this lecture, we will understand the "Warning: Undefined Value" error. We will understand what the warning means and how to rectify the error.

7. Update Button / 049

In this video, we will quickly learn to add an update button. Using this button, we will be able to make changes to the tasks that we create and modify the contents of the to do list.

8. Local Storage: Store All Tasks / 050

Here, we will focus on our local storage. When we create tasks in our TaskMate, we need to provide the app a local storage to store the tasks that we create.

9. Theme: Change Background / 051

In this video, we will learn to create a state that will allow us to change the background of our TaskMate appearance based on the selection we make.

10. Project Deployment

In this video, you will learn how to deploy our project on an online server. The first method involves pushing our project from the local system to a GitHub repository to Netlify or any other server we choose. The second way is to push the project directly on Netlify.


9. React Router

This section focuses on the React router, where we will learn to set up the router, understand the structure and navigation, understand the route parameters, nested routing, and missing routes.

1. React Router Introduction / 053

In this video, you will learn how to use the React-Router and its components to create, which we will use in our project. This will help us to include more links and pages to our project in the future.

2. React Router Setup / 054

In this video, you will learn how to install the React router; we will understand how to activate the functionality, what syntax we need to use to include this route functionality.

3. Project Structure / 055

In this video, we will learn how to improve the structure of our project. We will learn to create proper header and footer components and import them from the components folder. This will be the base structure on which the project will be built on.

4. Navigation / 056

Here, we will delve deep into navigation in the React structure. There are two ways, where we will use the "useNavigate" hook, or use a navigate component.

5. Route Parameters / 057

In this lesson, we will understand the parameters that are defined to a route, which helps to avoid repetitive tasks, especially in the scenario of large volumes of data.

6. No Route Found / 058

This lesson will teach us how to create a condition for the page 404, "no page found," "no route found," etc. We will define a path in the route that loads a component.

7. Nested Routes / 059

In this video, we will understand the concept of nested routes. When we create a route and then link other routes with a common hook, then we can create a super route that has the components that can be used in all other subsequent routes.

8. Project Restructuring / 060

In this lecture, we will examine how to improve the folder structure and how to import and export elements or components from different folder structures.


10. Tailwind CSS Crash Course

In this section, we will focus on the Tailwind CSS, which is framework packed with classes. We will understand the common properties and responsive design. We will look at creating a dark more or custom configurations.

1. Introduction and Demo

This video demonstrates the Tailwind CSS framework use in detail, which is packed with classes like flex, pt-4, text-center, and rotate-90 that can build any design directly in the markup.

2. Common Properties

In this video, we will look at a showcase of how to install the Tailwind CSS and set up to use in our current project. We will understand installing Tailwind CDN versus Tailwind CLI. We will then learn to apply different kinds of common properties to our CSS.

3. Hover, Focus, and Other States

In this lesson, you will learn to apply custom properties in special states, like when working with buttons, we will use "hover", "focus" properties for fonts, and other states that can be customized to our project requirements.

4. Responsive Design

We will learn to use multiple breakpoints, which is defined as responsive design and using responsive utility variants to build adaptive user interfaces.

5. Dark Mode

In this lecture, we will understand about the dark mode feature and use Tailwind CSS to style our site in dark mode, which is a first-class feature of many operating systems.

6. Custom Configuration / 206

Here, we will discuss configuration and customizing our Tailwind installation, a framework used for building bespoke interfaces using the "tailwind.config.js" file to define any customizations.

7. Project Demo / 207

This video illustrates a project demo, which we will call SoundMate, which is a simple landing page, where we will apply many Tailwind concepts and learn to apply customizations.

8. Header and Hero Section/ 208

We will take the project styling further, and look at creating the separate header and Hero sections. The Hero section will have a tagline and subtitle and then the other section with the cards and other components.

9. Footer / 209

In this lesson, we will learn to create our footer for the SoundMate project. We will define parameters to alter its appearance at the bottom of the page to our requirements.

10. Responsive Screen and Component Tools / 210

Here, we will examine and explore the various possible settings related to our responsive screen. We will define page sizes, appearance of components on different pages, etc.


11. Movie API Project: Cinemate

This section focuses on creating a new project, which is based on movies, called Cinemate, which will provide information about multiple movies.

1. Cinemate Demo

This video showcases the project that we will build called Cinemate, which is basically an information provider of popular movies, and is a movies based API project.

2. Project Setup

This video explores the components of the project. We will import the index.js file from the previous project and we will create all the required folder structures for the Cinemate project.

3. Tailwind Introduction / 063

This video will explain Tailwind and its functional components to load the style components into our React project, the Cinemate, and add the required dependencies for the project.

4. TMDB API: Documentation / 064

In this lesson, we will learn to use the TMDB API, a free API that showcases movies and we will register to create our account on the API. We will then examine the documentation, send links, and other parameters to work with.

5. UI Design (Tailwind and Flowbite) / 065

Now, we will focus on creating a basic user interface. We will define the page structure and how Cinemate, using Tailwind and Flowbite, works.

6. Navigation Structure

In this video, we will complete the header section of the Cinemate project and increase font sizes, change logo appearance, activate the navigation link, adding dynamic classes and add hidden variables.

7. Dark Mode Integration / 067

The dark appearance, known as Dark Mode, implements an interface style that many apps already adopt. We will learn to integrate the dark mode into the Cinemate project.

8. Movie List Structure / 068

In this video, we will create the homepage for the Cinemate project and we will define the appearance of the movie list structure on the project.

9. API Fetch: Movie List / 069

In this video, we will learn to fetch specific movies on the Movie list API. We will create a default empty list. We will then learn to send fetch requests to the URLs.

10. Custom Hook: useFetch / 070

Let's understand how to deal with errors in a fetch API. If errors are encountered during a fetch() call, it is often necessary to halt the compiler from reading the following few lines of code, rectifying the code, and re-fetching the API.

11. API Fetch: Movie Search / 071

Here, you will learn how to clean up the Fetch API, which provides a JavaScript interface for accessing and manipulating protocol parts, such as requests and responses.

12. Tailwind CSS Customization / 072

Here, you will learn more about a styled-component module, which allows us to write CSS within JavaScript in a very modular and reusable way in React instead of having one global dynamic class.

13. Page Not Found / 073

In this video, you will learn how to effectively handle the chaining of fetch calls to avoid nesting them together, clean up our component code, and abstract those details away from our component code.

14. Individual Movie Information / 074

You will learn to create forms to collect information and validate user information such as billing address, mode of payment, and more.

15. Scroll Restoration: Scroll to Top / 075

In this video, we will understand cleaning up a bloated render method in a React component by extracting a layout component.

16. Dynamic Page Title / 076

In this lecture, the next step is to start building the homepage of the eCommerce site. We will use components to tell React what we want to see on the screen.

17. Style Update / 077

This video demonstrates updating and stylizing the product list based on specific eCommerce store sales criteria.

18. Project Deployment / 078

In this video, we will understand the first cloud deployment model, the private model, single-tenant environments accessible by a single organization.

19. Development Branch on Git and GitHub

Here, you will learn how to develop and deploy the project branch on Git and GitHub.

20. Solved: Netlify Error / 079

In this lesson, you will learn to deploy Netlify, which helps accelerate the time to deploy website and app integrations and APIs on one powerful serverless platform.


12. Assignment: Shopping Cart

In this project, we will build a shopping cart in React based on what we have learned; this project is slightly more advanced than the previous one.

1. Assignment Statement and Demo / 080

In this lesson, you will learn about the project details, what we will build, and the components required to implement the project.

2. Solution: Project Setup

In this video, you will learn how to create the basket layout for storing the chosen products and increase or decrease the quantity of the items or delete the items from the list.

3. Solution: Components / 082

After creating a ledge for the basket page, you will now learn to add functionality to the basket and start receiving items from the product list and the function buttons to work.

4. Solution: Pages / 083

In this video, you will learn how to use the React router and its components to create a single-page application as a detail page.

5. Assignment Deployment

In this video, you will learn to create basket icons, implement them individually, and test them for functionality.


13. Context and Reducers Project: Shopping Cart

This section focuses on the context and reducers project, where we will be creating the shopping cart.

1. Global State Management

After implementing the shopping basket and all the functions it needs, we will execute the tasks required to make the basket add up the totals of the prices of each product multiplied by the number of items and add other features such as coupons, discounts, and so on.

2. Project Structure / 086

In this video, you will learn to validate our forms in React. Here, the form will force us to enter details before we are taken to the product confirmation page.

3. Context / 087

This is a continuation of the previous lesson, where we will continue validating the information we place on the form before checking out.

4. Reducer / 088

After creating a ledge for the basket page, you will now learn to add functionality to the basket and start receiving items from the product list and the function buttons to work.

5. Methods / 089

In this video, you will learn to validate our forms in React. Here, the form will force us to enter details before we are taken to the product confirmation page.

6. Project Deployment / 090

For the final checkout page to perform the next set of actions, you will learn how to implement an order confirmation before proceeding with the last payment order.


14. Redux Project: Shopping Cart

React-Redux provides a store that makes the state inside components easier to maintain. Along with stores, React-Redux introduces actions.

1. Redux Introduction

Redux is an open-source JavaScript library used to manage application state. React uses Redux for building the user interface.

2. Project Structure / 091

We will explore the most common and most accessible structure in use. I call it the flat structure as it has minimal directory nesting.

3. Slice and Action / 092

A "slice" is a collection of Redux reducer logic and actions for a single feature in your app, typically defined together in a single file.

4. Reducers: Add and Remove / 093

This lesson creates a new reducer method called removeFromCart, which accepts a value and removes an item from the basket. We will then add an handler to our remove button.

5. Redux Store State / 094

Redux is a popular data store for JavaScript and React applications. It follows a central principle that data binding should flow.

6. Project Deployment / 095

This video provides a detailed introduction to the concepts covered in this course section, including JavaScript and its topics.


15. ECommerce Project: Codebook

In this project, we will build an eCommerce website in React based on what we have learned; this is a slightly more advanced project called Codebook.

1. Codebook Demo / 097

This video demonstrates updating and stylizing the product list based on specific eCommerce store sales criteria.

2. Installations / 098

Here, you will learn more about a styled-component module, which allows us to write CSS within JavaScript in a very modular and reusable way in React instead of having one global dynamic class.

3. Project Structure / 099

In this lesson, we will understand the styled system, a collection of utility functions that add style props to your React components and allow you to control styles based on criteria.

4. Header Component - I / 100

Let's start by designing a static product tile to use as the template for the generated product tiles. Create a file named "components".

5. Header Component - II / 101

Here, you will learn more about a styled-component module, which allows us to write CSS within JavaScript in a very modular and reusable way in React instead of having one global dynamic class.

6. Home Page / 102

In this video, we will understand cleaning up a bloated render method in a React component by extracting a layout component.

7. Products Page / 103

In this lecture, the next step is to start building the homepage of the eCommerce site. We will use components to tell React what we want to see on the screen.

8. API: Product List / 104

This video discusses the context in React, a method to pass props from parent to child component(s) by storing the props in a store. We will create a "cart" context to store items in our shopping cart.

9. Rating Component / 105

For the final checkout page to perform the next set of actions, you will learn how to implement an order confirmation before proceeding with the last payment order.

10. Individual Product Component / 106

You will learn tips and tricks for better searching using the debouncing technique, up, down, and clear, and developing a clear search feature.

11. Dark Mode / 107

You will learn to create forms to collect information and validate user information such as billing address, mode of payment, and more.

12. ScrollToTop Component / 108

This video describes how to use elastic load balancing with your auto scaling group to distribute traffic across the instances in your auto scaling group.

13. Product Search / 109

Here, we will discuss operator precedence, which determines the order in which an arithmetic operation is performed.

14. Dynamic Title / 110

Here, you will learn more about a styled-component module, which allows us to write CSS within JavaScript in a very modular and reusable way in React instead of having one global dynamic class.

15. Filter: Context and Reducers / 111

Let's understand UserContext Hook, which makes it easy to pass data throughout your app without manually passing props down the tree, and UseReducer Hook, which allows for a more straightforward, predictable, and organized way to update our component.

16. Filter: Initial Product List / 112

We will create a checkout page, which will require us to handle the items in the product list, make final calculations, and add any other info if needed; reloading the page should allow us to make changes in the total by adding or removing items in the product list.

17. Filter: Properties / 113

This lesson will teach us more about props or properties used in React. Here, the properties are transferred from the parent to child components.

18. Clear Filter / 114

This lesson demonstrates how to cover key concepts required to filter successfully and concisely.

19. Dropdown Option / 115

After learning to use the React state hook, we will look at storing variables passed with the () event to put in the product display.

20. User Account and Cart

This video discusses the context in React, a method to pass props from parent to child component(s) by storing the props in a store. We will create a "cart" context to store items in our shopping cart.

21. Login and Registration Page / 118

Let's get acquainted with registering an account so we can explore many relevant services to become a user of the application.

22. React-Toastify / 119

This lesson will teach us more about props or properties used in React. Here, the properties are transferred from the parent to child components.

23. API: Login/Register Endpoint / 120

In this video, we will look at the React root component, namely the app, the dashboard, the admin, and other elements of the project that form the tree structure of React.

24. Session Storage / 121

In this lesson, you will learn about the local storage of information. When we place items in a basket and refresh or reload the page, it should be able to retain the items placed in the list until the transaction is processed.

25. Toggle Dropdown (Hide) / 122

In this video, you will learn how to effectively handle the chaining of fetch calls to avoid nesting them together, clean up our component code, and abstract those details away from our component code.

26. Cart Interface / 123

The shopping cart page is designed to allow buyers to see all the products they have added to the shopping cart. It contains a detailed list of products.

27. Cart: Context and Reducers / 124

In this tutorial, we will use useReducer and useContext to maintain a global state available throughout the project and the state variable.

28. Cart: Provider / 125

The context API simplifies sharing of cart data between components. Create a new function called CartProvider and add the reducer.

29. Add to Cart / 126

This lesson will teach us about the local information stored in a basket. When we place items in a basket and refresh or reload the page, it should be able to retain the items placed in the list until the transaction is processed.

30. Condition Check: Already in Cart / 127

For the final checkout page to perform the next set of actions, you will learn how to implement an order confirmation before proceeding with the last payment order.

31. Out of Stock Products / 128

Near the bottom of the "Show Results For" section, you can click the button for "Include Out of Stock".

32. Protected Routes / 129

In this video, you will learn to validate our forms in React. Here, the form will force us to enter details before we are taken to the product confirmation page.

33. Checkout Modal / 130

We will create a checkout page, which will require us to handle the items in the product list, make final calculations, and add any other information if needed; reloading the page should allow us to make changes in the total by adding or removing items in the product list.

34. Undefined Value Warning / 131

This video demonstrates how we can refactor product listing categories based on certain specifics, update any changes made to the products, or take them off the listing.

35. Order Submit Function / 132

In this lecture, the next step is to start building the home page of the eCommerce site. We will use components to tell React what we want to see on the screen.

36. Order Page / 133

In this video, you will learn how to create the basket layout for storing the chosen products and increase or decrease the quantity of the items or delete the items from the list.

37. Dashboard: Condition 1 / 134

In this video, we will explore the admin dashboard and look at the few available features on the dashboard.

38. Dashboard: Condition 2 / 135

After exploring the basics of the EC2 dashboard, you will now learn to create your EC2 instance, launch an example, and deploy a Linux-based AMI.

39. Auth Service: API End Points / 136

In this lesson, you will learn to deploy and accelerate the time to deploy website and app integrations and APIs on one powerful serverless platform.

40. Data Service: API Endpoints / 137

In this lesson, we will understand the styled system, a collection of utility functions that add style props to your React components and allow you to control styles based on criteria.

41. Product Service: API End Points / 138

This lesson will teach us how to fetch and get product information by ID. This code uses the fetch() function to call the Web API Product controller class.

42. Page Not Found / 139

Now, we will focus on creating a stylized interface for the store. We will define the page structure, the Events, and how the store behaves.

43. Dynamic Page Title / 140

In this video, you will learn to validate our forms in React. Here, the form will force us to enter details before we are taken to the product confirmation page.

44. Error Handling / 141

This video elaborates on debugging React applications to resolve errors and make the app functional and proper.

45. ENV / 142

After completing all the lessons in the section, ultimately implementing the project and testing out the project, this video provides a detailed recapitulation of the concepts learned in this project for the React app.

46. Frontend Deployment / 143

This is the final cloud deployment model, the virtual private cloud, which maintains the same security restrictions as a private cloud but offloads apps or workloads as a public cloud.

47. Backend Deployment / 144

In this video, we will understand the second cloud deployment model, the community model, when many organizations share similar infrastructure needs.

48. Update Environment Variables / 145

Let's discuss the arithmetic operators available in JavaScript to perform operations on constants and variables and look at the different operators available in JavaScript.

49. Login as Guest

In this lesson, we will create a guest user and understand how to log in and what features the user is provided with.

50. Solved: Netlify Errors / 147

In this lesson, you will learn to deploy Netlify, which helps accelerate the time to deploy website and app integrations and APIs on one powerful serverless platform.


16. Assignment: Word Counter

This focuses on the elements involved in getting started with AWS, the use policy, registration, practitioner exam, regional services, multifactor authentication, custom sign-in, and password policy.

1. Statement and Demo / 157

This video will explain the advantages of using a password versus an SSH key authentication.

2. Solution: WordCount / 158

In this video, we will look at a demonstration to add an extra layer of security to the user and plain password authentication.


17. React Testing Library and Jest

In the section, and ultimately implementing the project and testing out the project, this video provides a detailed recapitulation of the concepts learned in this project for the React app.

1. Testing Introduction / 148

Learn software testing with an introduction, software development lifecycle, design, development, testing, quality assurance, and quality control.

2. React Testing Library and Jest / 149

In this video, we will continue to implement and test the operator functions by clicking the operator buttons we created on the calculator.

3. Project Setup

This video focuses on the concepts of cloud computing, the advantages and disadvantages of cloud computing, and the different types of service models in cloud computing.

4. Testing Structure / 151

This is a continuation of how to connect to and communicate with a MariaDB database featuring a demo app and code samples.

5. Test: Component Rendering / 152

In this lesson, we will look at a term to describe the ability to render different user interface (UI) markup if a condition is true or false, the conditional rendering.

6. Test: Fire Events and User Events / 153

In this video, we will look at different events such as mouse clicks, mouse overs, mouse out, key down, and document load.

7. Queries, Type, Expect, and More / 154

This video will teach an important concept before moving on to JavaScript and jQuery, the document object model (DOM).

8. Test: API Async Loading / 155

In this video, we will compare the three service models and note the fundamental differences and their advantages of use.

9. Test: Page Component Wrapper / 156

In this lesson, you will learn about strings in JavaScript, which store a series of characters or text in quotes with an example.


18. Firebase Crash Course

Firebase is a Backend-as-a-Service(BaaS) that started as a YC11 startup. It grew up into a next-generation app-development platform on the Google Cloud platform.

1. Firebase Introduction

The Firebase Realtime Database lets you build rich, collaborative applications by allowing secure access to the database directly from client-side code.

2. Webpack Setup / 252

Webpack is a free and open-source module bundler for JavaScript. It is made primarily for JavaScript but can transform front-end assets such as HTML, CSS, and images if the corresponding loaders are included.

3. Firebase Setup / 253

React Native Firebase provides access to native code by wrapping the native SDKs for Android and iOS into a JavaScript API.

4. Firebase Connection / 254

When you register your app with Firebase, you will get a Firebase configuration object that you will use to connect your app with your Firebase project.

5. Fetching Documents - I / 255

You can use the Realtime Database Query class to retrieve data sorted by key, by value, or by the value of a child. You can also filter the sorted result.

6. Fetching Documents- II / 256

We can use the on() method to retrieve data. This method takes the event type as "value" and retrieves the snapshot of the data.

7. Adding and Deleting Documents / 257

The simplest way to delete data is to call removeValue() on a reference to the location of that data. We can also delete data by specifying null as the value.

8. Snapshots / 258

A DataSnapshot contains data from a Database location. Any time you read data from the database, you receive the data as a data snapshot.

9. Firestore Queries / 259

Cloud Firestore provides powerful query functionality for specifying which documents you want to retrieve from a collection or collection group.

10. Ordering Data / 260

You can specify the sort order for your data using orderBy() and limit the number of documents retrieved using the limit(). Note an orderBy() clause.

11. Updating Documents / 261

This guide explains how to use the set, add, or update individual documents in Cloud Firestore. If you want to write data in bulk, see transactions.

12. Fetching Individual Document / 262

In Firebase version 9 Cloud Firestore, you can update an existing document using updateDoc() by adding, updating, or deleting the document field.

13. Authentication - I / 263

Firebase Authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app.

14. Authentication - II / 264

Firestore security rules can be evaluated using user authentication metadata, data from incoming queries, and existing data in your database.


19. Blog Project: WriteNode

This section focuses on yet another project called WriteNode, a simple project in which we will work with Firebase, React router DOM, and also understand about Skeleton.

1. WriteNode Demo / 159

This demonstration video of another project called WriteNode, uses Firebase, React router DOM, to create the application. We will also understand about Skeleton.

2. Project Structure / 160

In this video, we will work on the structuring part of the project WriteNode. We will create the requisite folder structures and importing the required libraries.

3. Project Styling / 161

In this video, we will understand how to begin with the designing part of this project. We will create the header, footer, logo, and other components required for WriteNode.

4. Homepage / 162

In this lesson, we will begin with creating a section for the homepage and add the individual cards by importing the Postcard state from the components folder.

5. Firebase Setup / 163

The Firebase Realtime Database is a cloud-hosted NoSQL database that lets you store and sync data between your users in real time. We will look at the setup and authentication.

6. Firebase Configuration / 164

In this lesson, we will focus on the configuration part of the Firebase app. We will also work on receiving the information from the Firestore.

7. Conditional Auth Header / 165

In this video, we will understand how to create the header for the WriteNode project with a login popup button. We will use the Event() for the login as conditional authorization.

8. Create Blog Post / 167

After creating the conditional authorization in the previous lesson, we will now create a blog post in the WriteNode application.

9. Error: Object Fetch / 168

While creating our blog post in the last video, we encountered an error. In this video, we will focus on how to fix the error and understand creating and fetching objects for the project.

10. Toggle Update / 169

In this video, we will discuss about two concepts, the first being a toggle and how to delete the card when the recycle icon is clicked and the second concept we will discuss here is the infinite loop.

11. Dynamic Page Title

In this video, we will learn how to create a dynamic page title using a hook "useTitle.js" and place code to update our title as and when required.

12. React Loading Skeleton

Here, we will discuss about an interesting package called the React Loading Skeleton that provides a skeleton structure until we receive a response from the app.

13. Project Deployment / 172

In this final video, we will focus on the deployment process. We will get into the gitignore file and add the .env file. We will then create a new repository on GitHub called WriteNode and place the entire project folder structures here. We will deploy the project using Netlify.

Course Content

  1. React JS Masterclass - Go From Zero To Job Ready

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews