Deep Dive into Fullstack GraphQL with Eve Porcello

Topics covered at GRAPHQL-01-02
View Schedule & Book More dates available

Next up:


Like the idea of working with GraphQL but you’re not sure where to get started? Do you want to learn more about how to build a full stack application with GraphQL, Apollo and React? Join Eve Porcello, and learn how to write queries, mutations, and subscriptions with GraphQL in this 2-day hands-on workshop.

Day one will be a GraphQL kick off, where you'll learn how to interact with a GraphQL endpoint, and proceeding to design your own schema and implement your own GraphQL services with Node.js and Express. Using hands on examples, the class will learn to build GraphQL servers and set up GraphQL servers that can answer questions that originate with any clients.

GraphQL API is only half of the picture. Sure, it answers questions, but who is asking the questions? Day two will kick off by building clients. Eve guides you to examine the challenges to building clients as well as looking at the tools that were designed to crush those challenges.

Upon leaving this course, you will be ready to build full stack applications with GraphQL, Apollo and React.

Learn how to:

  • Best practices and foundations of GraphQL query language and Schema Definition Language
  • Build a server with Apollo Server
  • How to write resolvers that fetch data from anywhere
  • Use the Apollo Client including Apollo Cache and Apollo Link
  • Understand Apollo and React integration with React hooks
  • Use Apollo Federation to orchestrate GraphQL microservices

About the Author

Eve Porcello

Eve Porcello is a software engineer, instructor, conference speaker, and curriculum developer for Moon Highway, a JavaScript training company based in Northern California.


Day 1: GraphQL Kickoff

GraphQL Query Language

  • Why we Use GraphQL
  • Using GraphiQL and GraphQL Playground
  • Building Queries
  • Changing Data with Mutations
  • Using Arguments and Variables
  • Listening for Changes with Subscriptions
  • Reviewing a Schema with Introspection

Designing GraphQL Schemas

  • Schema Definition Language
  • Designing your Own Schemas
  • Connecting Types with Fields
  • Connections with Through Types
  • Effectively Designing Mutations
  • Effectively Documenting a Schema
  • Strategies for Approaching Design

Working with Apollo Server

  • Why We Need a Server Implementation
  • Creating an Apollo Server
  • Configuring the Server
  • Building Resolvers
  • Handling Arguments
  • Building Mutation Resolvers
  • Understanding Context

Lab: Build an API

Day 2: Fullstack GraphQL

Unions & Interfaces

  • When to use unions?
  • Handling an agenda with unions
  • Handling search results with a union
  • When to use interfaces?
  • Handling an agenda with interfaces
  • Improving the Pet Library with interfaces
  • Understanding the `__resolveType` resolver

Apollo Client

  • GraphQL Requests with HTTP
  • Using the Apollo Client to send Queries
  • Understanding the `gql` function and ASTs
  • Mutating data with the Apollo Client
  • Working with the `InMemoryCache`
  • Changing local data stored in the Cache
  • Handling Network Requests with `ApolloLink`

Apollo and React

  • General React Overview
  • Create React App
  • Building UI components with React
  • Consuming data with the `useQuery` Hook
  • Changing data with the `useMutation` Hook
  • Understanding Context
  • Interacting with Apollo Client Directly

Lab: Build an API



Are you interested in learning the ins and outs of GraphQL? Are you looking for hands on experience building full stack applications with GraphQL, Apollo and React? This course is for you!


In order to gain the most from this course, you should have a basic understanding of JavaScript and at least 1 year of professional software development experience.

Bring your own hardware

You are invited to bring your own laptop to this course so that you can learn using an environment you are used to, your preferred tools, languages and IDE, and can focus on learning the new concepts and skills covered in this course.

Your device will need to have npm installed in advance of the course. Further detailed installation instructions will be included in your joining email which you will receive ahead of the course start date.

If you are unable to bring your own laptop please let us know at least 2 weeks prior to your attendance of this course so that our team can assist. More detailed installation requirements will be sent with your joining instructions prior to the course.