Skip to main content
CourseFlix

Full-Stack React with GraphQL and Apollo Boost

6h 54m 31s
English
Free

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.  

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

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 76 lessons

0:00 0:00
#Lesson TitleDuration
1Project App Demo 10:53
2GraphQL Introduction 08:10
3Apollo / Apollo Boost Introduction 03:05
4Install Packages our for Project 01:59
5Git Clone and npm Install Dependencies 01:08
6Initialize Express Server 02:38
7Create MongoDB Atlas Database and Connect To It 05:49
8Create Mongoose Schemas 06:07
9Add Apollo-Express Middleware 04:23
10Create GraphQL Schema 04:34
11Add bodyParser Middleware and Root Query Type 03:48
12Create First Mutation 05:28
13Create First Query 03:24
14Create React Application with create-react-app 01:41
15Clean Up App.js and Add Components Folder 02:46
16Add Client Dependencies and Set Up ApolloClient/ApolloProvider 02:02
17Create Queries Folder, Write First Apollo Query 05:06
18Add cors Middleware to Prevent Cross-Origin Errors 02:06
19Add Skeleton CSS and Base Styles 01:20
20Create Signup Mutation 06:19
21Hash User Password with bcrypt 03:34
22Add Routing with react-router-dom 05:18
23Add Form to Signup Component 03:07
24Manage Input State in Signup Form 05:37
25Add Mutation Component to Signup Component, Write SIGNUP_USER Apollo Mutation 05:43
26Add onSubmit to Signup Form, Run Signup Mutation on Client 03:59
27Create Error Component, Clear State Upon Submit, Add Form Validation 09:12
28Create Signin Mutation on Backend 05:36
29Implement Signin Mutation on Client 03:38
30Add Token to Local Storage, Put Token on Authorization Header 06:27
31Verify JWT on Backend to Get Current User 03:20
32Add getCurrentUser Query, Create withSession Component 10:32
33Redirect Upon Signin/Signup, Refetch getCurrentUser Query Upon Redirect 05:34
34Add Navbar Component, Add Search Component 06:22
35Add Navbar Links For Auth User 04:52
36Make Navbar Dynamic, Add Custom Heading 03:33
37Implement Signout Button 06:08
38Map Over Recipes, Create Recipe Item Component 05:35
39Create Recipe Page, Get Recipe Id From Path 06:08
40Add getRecipe Query in Backend, Run Query on Recipe Page 06:07
41Output getRecipe Data to Recipe Page, Scaffold Add Recipe Form 06:26
42Make AddRecipe a Stateful Component 05:46
43Implement addRecipe Mutation on Client 11:46
44Clear State and Redirect Upon addRecipe Mutation 03:29
45Learning and Implementing Optimistic UI 10:27
46Create searchRecipes Query on Backend, add Apollo Query to Search Component 07:59
47Index Recipe Fields, Perform Search Query on Input Change Event 08:59
48Add SearchItem Component 02:51
49Add UserInfo Component to Profile Page 09:48
50Add UserRecipes Component to Profile Page, Implement getUserRecipes Query 07:47
51Add Route Protection with withAuth Component 09:00
52Add and Implement deleteUserRecipe Mutation 06:53
53Add Optimistic UI to deleteUserRecipe Mutation 05:13
54Add refetchQueries to deleteUserRecipe Mutation 02:04
55Add refetchQueries to addRecipe Mutation 02:08
56Provide Default Text for User Without Recipes 01:27
57Create LikeRecipe Component and Hide If Not Auth 04:06
58Add and Implement likeRecipe Mutation 08:07
59Develop Client-side Logic to Properly Toggle Like 05:40
60Create and Implement unlikeRecipe Mutation with Optimistic UI 09:43
61Prepare for Deployment 04:13
62Use Fragments to Clean Up Queries 05:04
63Deploy to Heroku 12:49
64Add Additional CSS to Project 01:50
65Adds imageUrl field on Recipe model and imageUrl input in addRecipe 04:45
66Display Recipe Image on Home Page, Build Card 04:37
67Style Recipe Page 05:31
68Add CKEditor Component to AddRecipe Page for Formatted Instructions 05:54
69Intro to React Pose Animation Library 07:26
70Add React Pose Animation to Home Page 07:18
71Add Spinners When Loading 05:03
72Style Searchbar and Redeploy 04:17
73Add Update Button, Make UserRecipes Stateful Component 02:53
74Create Edit Recipe Modal 06:46
75Populate Edit Recipe Modal 04:53
76Create updateUserRecipe Mutation, Execute on Client 08:25

Related courses

  • Bedrock: Jumpstart your next SaaS product thumbnail

    Bedrock: Jumpstart your next SaaS product

    Sources: Max Stoiber (@mxstbr)
    The modern full-stack Next.js & GraphQL boilerplate with user authentication, subscription payments, teams, invitations, emails and everything else you need.
    5 / 5
  • Motion-Primitives Pro thumbnail

    Motion-Primitives Pro

    Sources: Julien Thibeaut
    Motion-Primitives Pro is an advanced library designed to simplify the animation workflow and create beautiful, interactive web interfaces.
  • React and WebRTC 2023 & Sharing Location App with Video Chat thumbnail

    React and WebRTC 2023 & Sharing Location App with Video Chat

    Sources: Udemy
    Learn technologies like React, WebRTC (PeerJS) , SocketIO and Google Maps API by creating amazing project ,,GeoCall''. In this practical course we will jump str
    8 hours 11 minutes 54 seconds