Introduction
- About the Author
- Requirements
- FAQ
- How to read this book
- Challenge
GraphQL
- What is GraphQL?
- GraphQL Advantages
- GraphQL Disadvantages
- Why not REST?
- GraphQL Alternatives
Apollo
- Apollo Advantages
- Apollo Disadvantages
- Apollo Alternatives for JavaScript, React and Node.js
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
GraphQL Fundamentals
- GraphQL Operation: Query
- GraphQL Operation: Mutation
- GraphQL Pagination
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
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
React with GraphQL and Apollo Client
- Writing your first React application 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 in React
- GraphQL Caching of Queries with Apollo Client in React
- Implementing the Issues Feature: Setup
- Implementing the Issues Feature: Client-Side Filter
- Implementing the Issues Feature: Server-Side Filter
- Apollo Client Prefetching in React
- Exercise: Commenting Feature
- Appendix: CSS Files and Styles
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
Final Thoughts
- Further Learning Paths
- Never stop Learning
- Thank You