O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Clientside GraphQL with Apollo

Video Description

In Learning Clientside GraphQL with Apollo, you’ll learn the benefits of using GraphQL with Apollo and how this robust stack can solve problems that can arise when working with data from front-end APIs. You’ll gain hands-on experience as you build a self-contained voting application, complete with a database and front-end and backend applications. Your project will allow users to vote a topic up or down, propose new topics, and leave comments on topics.

GraphQL, a data query and manipulation language, is the open source community’s answer to the growing complexity of the data landscape of front-end web applications. GraphQL’s ease of querying complex data—and returning nothing more nor less than necessary—makes it a simpler, more efficient, and flexible alternative to other web service architectures.
Built on the GraphQL specification, Apollo is a powerful set of tools and libraries which implements extensive research and feedback from the user community. Rich with features and techniques that simplify the data-layers within organizations, it makes rollouts of new deployments faster and easier.


  • The benefits of GraphQL and Apollo
  • The design decisions behind GraphQL and Apollo
  • GraphQL queries and mutations
  • URL routing and pagination
  • How to set up your Apollo client
  • How to create a Node GraphQL backend from scratch
  • How to build a self-contained application using GraphQL and Apollo
This course is for front-end web developers familiar with Javascript and the fundamentals of Node and HTML. Knowledge of GraphQL and Apollo may be helpful, but is not necessary.

Azat Mardan is one of the leading experts on JavaScript, Node, React, and cloud technologies, who has authored multiple top-selling books and video courses, including Manning book React Quickly. He is a Microsoft MVP and works as an Engineering Leader at Indeed. He is also the founder of Node University.

Table of Contents

    1. Course overview 00:01:44
    2. About the instructor 00:03:17
    3. Course prerequisites 00:02:06
    4. What is GraphQL and how is different from REST? 00:05:12
    5. What is Apollo and how is it different from Redux and Relay Modern? 00:04:20
    1. GraphQL architecture 00:06:57
    2. Getting started with GraphQL 00:08:29
    3. Enhancing GraphQL queries 00:05:33
    4. Fetching data from a GraphQL backend using cURL 00:04:10
    5. Working with GraphQL types relationships 00:04:37
    6. Adding data with GraphQL mutation queries 00:02:39
    7. Updating data with GraphQL mutation queries 00:02:58
    8. Deleting data with GraphQL mutation queries 00:01:35
    9. Query parameters last, first, before, and after 00:03:35
    10. Query parameters skip, orderBy, and filter and meta queries 00:03:39
    11. Schema for the Dashboard project and enhanced relationships 00:05:52
    1. Dashboard project overview 00:02:48
    2. Demo of Dashboard views 00:02:11
    3. Learning Dashboard project structure 00:03:30
    4. Launching the Dashboard project starter code 00:05:00
    5. Setting up the Apollo client with ApolloProvider, connecting to GraphQL backend 00:04:35
    6. Referring to a GraphQL query fragment for notifications 00:04:13
    7. Defining a GraphQL query fragment for notifications 00:04:17
    8. Testing the implementation for notifications 00:06:51
    1. Unit overview 00:01:02
    2. Overview of the connections (relationships) between order and product types 00:05:50
    3. Implementing GraphQL read query for orders 00:03:46
    4. Implementing GraphQL read query for orders, part 2 00:04:59
    5. Implementing GraphQL update query (mutation) for orders 00:02:44
    6. Implementing GraphQL update query (mutation) for orders, part 2 00:06:26
    7. Supplying multiple types of data for home 00:03:45
    8. Supplying multiple types of data for home, part 2 00:02:29
    9. Supplying multiple types of data for home, part 3 00:04:14
    1. Unit overview 00:01:13
    2. Writing pagination query for products using first, skip, and GraphQL variables 00:05:43
    3. Implementing pagination using URL query string parameters and React Router 00:06:05
    4. Implementing detailed view a delete for product 00:04:40
    5. Testing the pagination and delete implementation for products 00:03:20
    1. Unit overview 00:00:57
    2. Setting up GraphQL backend graph.cool locally using Docker 00:04:56
    3. Switching to local backend 00:06:21