Introduction
  • What is GraphQL
  • Pre-Requisites
  • Defining a Schema
  • Implementing Resolver Functions
  • Querying with the Query Language
  • Understanding the HTTP Request Format
  • Writing a GraphQL Client
Queries
  • Setting up the Job Board Application
  • Source Code
  • Configuring Apollo Server with Express
  • Note: GraphiQL vs GraphQL Playground
  • Returning an Array of Jobs
  • Nested Objects in GraphQL Queries
  • Object Associations: Job/Company
  • Fetching Jobs in the Client
  • Arguments: Returning a Job by ID
  • Query Variables: Fetching a Job
  • Handling GraphQL Error Responses
  • Fetching a Company by ID
  • Returning Jobs for a Company
Mutations
  • Creating a Job
  • Best Practices for Mutations
  • Calling a Mutation from the Client
Authentication
  • Enforcing Authentication with the Context
  • Passing Authentication in HTTP Requests
  • Extracting the Company from the Authenticated User
Apollo Client
  • Apollo Client Setup
  • Queries with Apollo Client
  • Authentication with ApolloLink
  • Caching and Fetch Policy
  • Updating the Cache After a Mutation
  • GraphQL Fragments
Subscriptions
  • Note: Clear Your Browser Data
  • Chat Application Setup
  • Chat Source Code
  • Chat Application Overview
  • Defining a Subscription
  • Enabling WebSockets in Apollo Server
  • Subscription Resolver with PubSub
  • Configuring WebSocketLink in Apollo Client
  • Using Subscriptions in the Client
  • Inspecting the WebSocket Protocol
  • Client Authentication with WebSockets
  • Server Authentication with WebSockets
Apollo Client with React Hooks
  • React Apollo: Three Different Packages
  • Setting up ApolloProvider
  • Introduction to React Hooks
  • The useQuery Hook
  • The useMutation Hook
  • The useSubscription Hook
  • Local State Management with Apollo Client
  • Writing Custom Hooks
Apollo Client 3.0
  • Migrating to Apollo Client 3.0