GraphQL College

PostsBookPlayground
Created with Sketch.

Learn to build FullStack GraphQL Applications

Learn GraphQL with a hands-on approach. With this open source book you will build a full stack GraphQL application step by step using NodeJS, Apollo GraphQL and React.

Overwhelmed by all the tools required for building GraphQL applications? Learn how every piece fits together

What you'll build

You will build from scratch a Pinterest clone called PinApp. Every chapter will slowly teach you the different moving parts of a GraphQL stack by adding features to the example project.

Focus on learning, not on environment setup. Every chapter contains live, editable code samples.

The first chapter will teach you how to read and write data from PinApp, like fetching users or pins, using the GraphQL query language.

The second chapter will teach you how to design PinApp's data model using the GraphQL schema design language.

In the third chapter you will learn how to create PinApp's GraphQL APIs using Apollo Server. You will expose to HTTP the schema you designed in the previous chapter. You will also learn how to connect an API with a Postgres database, and how to organize the API source code.

The fourth chapter teaches you how to build PinApp's frontend using Apollo Client 2.0 and React 16.

In the fifth chapter you will learn how to add real time features to PinApp using GraphQL Subscriptions.

The sixth chapter will teach you how to test PinApp's API and frontend using Jest.

Chapters

  • 1
    Reading and writing data
    • Queries and Mutations
    • Query
    • Nested fields
    • Multiple fields
    • Operation name
    • Arguments
    • Aliases
    • Fragments
    • Variables
    • Directives
    • Default variables
    • Inline fragments
    • Meta fields
    • Mutations
    • Summary
  • 2
    Data modeling
    • Schema, types and resolvers
    • Schemas
    • Type definitions
    • Resolvers
    • Summary
  • 3
    GraphQL APIs
    • Server
    • Database
    • Authentication
    • File organization
    • Summary
  • 4
    GraphQL Clients
    • Initial React client
    • Client side state
    • Apollo Client
    • React Apollo
    • Query component
    • Apollo Provider
    • Mutation Component
    • Summary
  • 5
    Subscriptions
    • Server side subscriptions
    • Pubsub systems
    • Implementing server side subscriptions
    • Client side subscriptions
    • Apollo boost migration
    • Implementing client side subscriptions
    • Summary
  • 6
    Testing
    • How to test GraphQL APIs
    • Testing setup
    • GraphQL Layer
    • HTTP Layer
    • Testing email based authentication
    • Subscription endpoints
    • How to test React Apollo GraphQL clients
    • Testing client-side authentication
    • Client subscriptions
    • Summary

Companies using GraphQL in production

Meet the author

Hi there! I am Julian Mayorga. I have been a full stack Javascript developer since 2013, working in a wide range of tech companies. From a payments startup to a digital car inspections company.

Building beautiful frontends and APIs is my passion. And when I say beautiful, I mean both external as internal. Nowadays I am totally obsessed over GraphQL and React. Using them I feel like I can create lovely, maintainable products. I truly enjoy sharing this passion about building apps by writing at GraphQL College.

Julian Mayorga - Author
@juli_mayorga

Interested? Download the sample chapter to get a taste of the book. If you have any questions, I would be very happy to answer them, so please send me an email to julian@graphql.college.