The Road to GraphQL

Your journey to master GraphQL in JavaScript

The most comprehensive book to learn GraphQL for modern client-server architectures. Everything you need to know about GraphQL on the client and server side to build powerful applications.

350+
Pages
45+
Exercises
20+
Course Modules
400+
Code Snippets

What's Included

GraphQL in JavaScript with React and Node

Learn Modern GraphQL

Learn how modern client-server architecture are driven by GraphQL to overcome the challenges of next generation applications.

Packed with Exercises

You will have plenty of time to apply your learnings in exercises after each chapter of the book. Lots of additional content awaits you.

Beginner Friendly

Step by step we will explore the concepts of GraphQL and how to use them in modern client-server architectures to power our applications.

Up-To-Date

All the recent GraphQL best practices will be included in this GraphQL course to get you up to speed to the recent trends.

Real World Application

You will build real world applications with authentication, authorization, pagination, caching and bulk operations.

Full-Stack Experience

GraphQL can be used in any programming language. We will explore GraphQL in React.js and Node.js for a full-stack architecture.

Robin Wieruch

Meet your Instructor

Robin Wieruch

Robin is a software engineer who has authored several books and courses about JavaScript and React. He has been a developer for more than a decade and has experience in building web applications and consulting for startups and companies across the world.

During his freelance tenure, Robin collaborated with diverse entities like MakerDAO in blockchain, TRUMPF in high-precision laser technology, and the US government, among other ventures.

  • Bestselling JavaScript Book Author
  • 3,000,000+ Blog Visits per Year
  • 80,000+ Book Readers and Course Students
  • 50,000+ Newsletter Readers
  • 23,000+ Twitter Followers
  • 11,000+ LinkedIn Followers
  • 8,000+ GitHub Followers
  • 6,000+ GitHub Stars
  • 2x Awarded GitHub Star
  • Technical Co-Founder of CloudCamping
  • Dad of two wonderful Boys

Roadmap

What you're going to be learning

1

Why GraphQL?

As a query language, GraphQL is the perfect fit for modern client-server architectures. You will learn what gives GraphQL the advantage over other solutions like REST.

2

Why Apollo?

When it comes to GraphQL JavaScript libraries, Apollo is the most popular choice in the JS ecosystem. Hence we will explore all the features of Apollo Client and Server for React and Node.

3

GraphQL in React

Before using any GraphQL third-party library like Apollo, we will use plain GraphQL in React to make requests to popular GraphQL APIs.

4

Apollo with GraphQL

Afterward, by using Apollo Client in React, we will get into all the benefits of using a powerful GraphQL client library in a frontend application.

5

GraphQL in Node

On the server-side, we will explore GraphQL in Node.js with powerful features such as authentication, authorization, pagination, caching and bulk operations.

6

Deployment of GraphQL

Last but not least, you will learn how to deploy your GraphQL API enabling your client applications using its rich feature set without waterfall requests and overfetching.

Become an Expert in GraphQL

Table of Contents

What you can expect from the book

1

What is GraphQL?

  • GraphQL Advantages
  • GraphQL Disadvantages
  • Why not REST?
  • GraphQL Alternatives
2

What is Apollo?

  • Apollo Advantages
  • Apollo Disadvantages
  • Apollo Alternatives
3

GraphQL Setup Tools and APIs

  • Feeding the API with Data on GitHub
  • Read/Write Data with GitHub's Personal Access Token
  • Interacting with GitHub's GraphQL API
4

GraphQL Fundamentals

  • GraphQL Operation: Query
  • GraphQL Operation: Mutation
  • GraphQL Pagination
5

React with GraphQL

  • Writing your first React GraphQL Client
  • GraphQL Query in React
  • GraphQL Pagination in React
  • GraphQL Mutation in React
  • Shortcomings of GraphQL in React without Apollo
6

Apollo Client

  • Starting with Apollo Boost on the Command Line
  • Apollo Client and a GraphQL Query
  • Apollo Client with Pagination Variables Nested Objects and List Fields
  • Apollo Client and a GraphQL Mutation
7

React with GraphQL and Apollo Client

  • Writing your first React with GraphQL and Apollo Client
  • Configure Apollo Client for React and GitHub's GraphQL API
  • Connect Data-Layer to View-Layer: Introducing React Apollo
  • GraphQL Query with Apollo Client in React
  • Apollo Client Error Handling in React
  • GraphQL Mutation with Apollo Client in React
  • GraphQL Query/Mutation with Higher-Order Components in React
  • Local State Management with Apollo Client in React
  • Apollo Client Optimistic UI in React
  • GraphQL Pagination with Apollo Client
  • GraphQL Caching of Queries with Apollo Client
  • Implementing the Issues Feature: Setup
  • Implementing the Issues Feature: Client-Side Filter
  • Implementing the Issues Feature: Server-Side Filter
  • Apollo Client Prefetching
  • Exercise: Commenting Feature
  • Appendix: CSS Files and Styles
8

Node.js with GraphQL and Apollo Server

  • Apollo Server Setup with Express
  • Apollo Server: Type Definitions
  • Apollo Server: Resolvers
  • Apollo Server: Type Relationships
  • Apollo Server: Queries and Mutations
  • GraphQL Schema Stitching with Apollo Server
  • PostgreSQL with Sequelize for a GraphQL Server
  • Connecting Resolvers and Database
  • Apollo Server: Validation and Errors
  • Apollo Server: Authentication
  • Authorization with GraphQL and Apollo Server
  • GraphQL Custom Scalars in Apollo Server
  • Pagination in GraphQL with Apollo Server
  • GraphQL Subscriptions
  • Testing a GraphQL Server
  • Batching and Caching in GraphQL with Data Loader
  • GraphQL Server + PostgreSQL Deployment to Heroku

Course Modules beyond the Book

Tutorials and Source Code

Client Concepts

Pagination Optimistic UI Prefetching

Server Concepts

Subscription

Local State with GraphQL

Local State GraphQL with Redux Redux Cache

Do It Yourself

GraphQL Client

Starter Kits

Apollo Boost in Node.js Apollo Server with PostgreSQL Apollo Server with MongoDB Apollo Client with React Minimal Apollo Client Apollo Client with GitHub Vanilla GraphQL Client

Testing

Client Mocking Client Testing

Related: React Concepts

State in React React Context React Hooks Render Props Higher-Order Components

Alternative: Firebase

Why Firebase

Alternative: REST

JavaScript Project Node.js Project Express Project REST API REST API with Database

Testimonials

What industry leaders are saying

"Robin is one of the most consistently high quality React educators. His approach directly addresses practical concerns you *will* face in your daily React work, without talking down to you or wasting your time with fluff. Don't just take my word for it - look at his public work and you'll see."
Shawn Wang
Developer Experience at Netlify
"Robin is an excellent teacher. His articles and tutorials are in-depth and informative, and his code is clear and concise. I've found an answer on his site countless times when researching a problem, and I know that's one less article I have to write."
Tania Rascia
JS Dev, Online Educator
"Everything that I've read from Robin has been top tier quality stuff. There are blog posts that I have wanted to write, but then I found one by Robin and decided I didn't need to. Fantastic content."
Kent C. Dodds
Full-time JavaScript Instructor
"You can tell how much time Robin has put into a teaching piece when you consume his content. I have partnered with Robin and he sets the bar high for other teachers and content creators -- this results to a quality learning ecosystem for his students regardless if a content or course was thought by him or not."
Christian Nwamba
JS Dev, Organizer of Concatenate
"I haven't read this book yet, but the previous educational materials made by Robin were nothing short of amazing. Thanks for creating this content and putting it out there!"
Dan Abramov
React.js Core Team
"If it's anything to do with React and it's written by Robin, you can trust that it'll be world-class. His books are some of the best content you'll find on the web for learning React."
Preethi Kasireddy
Founder & CEO of TruStory

What Participants Are Saying

Reviews from Amazon

"I absolutely love this, and all of Robin's books. He has a well publicized knack for explaining difficult subject in a stepwise, concise, and clear way. I can honestly say, his books have been one of the best resources I have found in learning GraphQL in React."

— Scott Rhamy

"After having followed Robin's 'The Road to Learn React' as well 'Taming State in React' series/books, I decided to purchase 'The Road to GraphQL' in digital form. Robin does a great job explaining how to do things in React, but where his content really shines is that he also explains why to do things a certain way by having you accomplish similar task but in different ways."

— Austin Houk

"This book is tailor-made for React developers. You'll have to be familiar with React to get the most out of this guide. That suits me just fine."

— Joe Bugajski

"I am lucky to discover this book, because React, GraphQL, Apollo, Client and Server are bleeding edges technologies, and this book is the best resources that you can find at the current time to learn about these subjects."

— Kieu Hua

Frequently Asked Questions

Is there anything else you want to know?

Ready to take the journey?

Pick a learning path that works for you

The Road to GraphQL

Complete course with book, exercises, and bonus modules

  • 350+ Pages
  • 45+ Exercises
  • 20+ Course Modules
  • 400+ Code Snippets
  • Lifetime Updates
Get the Book