Skip to main content

Full-Stack React with GraphQL and Apollo Boost

6h 54m 31s
English
Free

Course description

This course is designed for anyone who wants to start building applications with React and GraphQL! In this course, we will build a recipe application from scratch with full authentication (sign up, sign in, sign out), as well as the ability to create, browse, search for, save, and delete recipes.  

Read more about the course

Building this project will give you the skills to create full-stack React and GraphQL applications from scratch for any theme you like!

This course presumes some experience with React, but if you are familiar with basic JavaScript concepts and have some knowledge of ES6 features, you will be able to follow along just fine. 

  1. We will begin by building a backend with Node.js using the Express framework, then learn how to integrate our backend with GraphQL. We'll learn about essential topics within GraphQL such as queries, mutations, schemas and resolvers, we'll learn the GraphQL syntax and work extensively with GraphiQL to test our queries and mutations, after which we will move onto working with React. 

  2. Then we will  build a React application and then connect it to our GraphQL-Express backend using Apollo Boost. We'll cover all of the latest features of Apollo Boost and React Apollo, including ApolloClient, ApolloProvider/ApolloConsumer, as well as Query and Mutation components. On top of that, we'll learn how to refetch queries, use optimistic UI, nest query and mutation components, use fragments and much more!

  3. On top of learning all about Apollo Boost, we will use essential React libraries such as React Router (version 4) to provide routing for our application, learn how to make protected routes, use essential lifecycle methods, reinforce proper state management practices, use helpful ES6 features such as the object and array spread operators and object and array destructuring, as well as cleaner React practices such as the property initializer syntax.

  4. Once we are done creating our application, we will go through the process of deploying to Heroku. We will create a postbuild script that will allow us to deploy our full-stack app using the Heroku CLI.

  5. As a bonus section, we're going to dive into some additional React component libraries (i.e. react-pose, react-spinners) that will give us the ability to further style and animate our application to make it production-ready, give users the ability to customize their recipes, and make our application responsive with CSS grid.

Requirements:

  • A basic familiarity with React

  • Some knowledge of JavaScript ES6 features is helpful, but not required

Who this course is for:
  • Any developer who wants to learn to make full-stack web applications with React and GraphQL from scratch

What you'll learn:

  • Make practical, production-ready full-stack applications with React and GraphQL
  • Learn the GraphQL language, how to write queries and mutations both on the client and the server
  • Learn React-Apollo in-depth, including Query and Mutation Components, Nested Components, Optimistic UI and Refetching Queries
  • Understand how to use and set up Apollo Boost within React applications
  • Implement essential web app features such as user authentication, searching, and route protection
  • Authenticate your GraphQL application using JSON Web Tokens
  • Learn advanced React patterns such as higher-order components and render props
  • Discover many useful features of React Router 4
  • Learn and reinforce effective state management patterns
  • Animate your React app with popular component libraries such as React Pose
  • Deploy and redeploy full-stack React applications to the web

Watch Online

0:00 0:00
#Lesson TitleDuration
1Project App Demo10:53
2GraphQL Introduction08:10
3Apollo / Apollo Boost Introduction03:05
4Install Packages our for Project01:59
5Git Clone and npm Install Dependencies01:08
6Initialize Express Server02:38
7Create MongoDB Atlas Database and Connect To It05:49
8Create Mongoose Schemas06:07
9Add Apollo-Express Middleware04:23
10Create GraphQL Schema04:34
11Add bodyParser Middleware and Root Query Type03:48
12Create First Mutation05:28
13Create First Query03:24
14Create React Application with create-react-app01:41
15Clean Up App.js and Add Components Folder02:46
16Add Client Dependencies and Set Up ApolloClient/ApolloProvider02:02
17Create Queries Folder, Write First Apollo Query05:06
18Add cors Middleware to Prevent Cross-Origin Errors02:06
19Add Skeleton CSS and Base Styles01:20
20Create Signup Mutation06:19
21Hash User Password with bcrypt03:34
22Add Routing with react-router-dom05:18
23Add Form to Signup Component03:07
24Manage Input State in Signup Form05:37
25Add Mutation Component to Signup Component, Write SIGNUP_USER Apollo Mutation05:43
26Add onSubmit to Signup Form, Run Signup Mutation on Client03:59
27Create Error Component, Clear State Upon Submit, Add Form Validation09:12
28Create Signin Mutation on Backend05:36
29Implement Signin Mutation on Client03:38
30Add Token to Local Storage, Put Token on Authorization Header06:27
31Verify JWT on Backend to Get Current User03:20
32Add getCurrentUser Query, Create withSession Component10:32
33Redirect Upon Signin/Signup, Refetch getCurrentUser Query Upon Redirect05:34
34Add Navbar Component, Add Search Component06:22
35Add Navbar Links For Auth User04:52
36Make Navbar Dynamic, Add Custom Heading03:33
37Implement Signout Button06:08
38Map Over Recipes, Create Recipe Item Component05:35
39Create Recipe Page, Get Recipe Id From Path06:08
40Add getRecipe Query in Backend, Run Query on Recipe Page06:07
41Output getRecipe Data to Recipe Page, Scaffold Add Recipe Form06:26
42Make AddRecipe a Stateful Component05:46
43Implement addRecipe Mutation on Client11:46
44Clear State and Redirect Upon addRecipe Mutation03:29
45Learning and Implementing Optimistic UI10:27
46Create searchRecipes Query on Backend, add Apollo Query to Search Component07:59
47Index Recipe Fields, Perform Search Query on Input Change Event08:59
48Add SearchItem Component02:51
49Add UserInfo Component to Profile Page09:48
50Add UserRecipes Component to Profile Page, Implement getUserRecipes Query07:47
51Add Route Protection with withAuth Component09:00
52Add and Implement deleteUserRecipe Mutation06:53
53Add Optimistic UI to deleteUserRecipe Mutation05:13
54Add refetchQueries to deleteUserRecipe Mutation02:04
55Add refetchQueries to addRecipe Mutation02:08
56Provide Default Text for User Without Recipes01:27
57Create LikeRecipe Component and Hide If Not Auth04:06
58Add and Implement likeRecipe Mutation08:07
59Develop Client-side Logic to Properly Toggle Like05:40
60Create and Implement unlikeRecipe Mutation with Optimistic UI09:43
61Prepare for Deployment04:13
62Use Fragments to Clean Up Queries05:04
63Deploy to Heroku12:49
64Add Additional CSS to Project01:50
65Adds imageUrl field on Recipe model and imageUrl input in addRecipe04:45
66Display Recipe Image on Home Page, Build Card04:37
67Style Recipe Page05:31
68Add CKEditor Component to AddRecipe Page for Formatted Instructions05:54
69Intro to React Pose Animation Library07:26
70Add React Pose Animation to Home Page07:18
71Add Spinners When Loading05:03
72Style Searchbar and Redeploy04:17
73Add Update Button, Make UserRecipes Stateful Component02:53
74Create Edit Recipe Modal06:46
75Populate Edit Recipe Modal04:53
76Create updateUserRecipe Mutation, Execute on Client08:25

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Web Security Dev Academy - 12-week online program

Web Security Dev Academy - 12-week online program

Sources: Bartosz Pietrucha
Master the full picture of web security and learn to develop secure full-stack applications with reliable authentication, protection against vulnerabilities...
16 hours 37 minutes 20 seconds
Serverless Framework Bootcamp: Node.js, AWS & Microservices

Serverless Framework Bootcamp: Node.js, AWS & Microservices

Sources: udemy
Ever felt like you would like to build a back-end application that can handle millions of users, but you were terrified by the idea of managing (or learning how
5 hours 24 minutes 21 seconds
Scale React Development with Nx

Scale React Development with Nx

Sources: egghead
On the surface, starting a project sounds easy. First you make some directories, install some dependencies, then you write some code. But there's a bit more to
1 hour 34 minutes 10 seconds
100 Days Of Code: The Complete Web Development Bootcamp 2024

100 Days Of Code: The Complete Web Development Bootcamp 2024

Sources: Academind Pro
Learn web development from A to Z in 100 days (or at your own pace) - from "basic" to "advanced", it's all included!
78 hours 51 minutes 55 seconds
Uber Clone - Typescript, NodeJS, GraphQL, React, Apollo

Uber Clone - Typescript, NodeJS, GraphQL, React, Apollo

Sources: Nomad Coders
We will do a Uber clone (backend + frontend + deployment). From head to toe using JavaScript! This time full stack, full JavaScript stack!
22 hours 41 minutes 56 seconds