36-graphql-concepts
36-graphql-concepts copied to clipboard
π 36 concepts every GraphQL developer should know.
36 Concepts Every GraphQL Developer Should Know
Introduction
This repository was created with the intention of helping developers master their concepts in GraphQL. It is not a requirement, but a guide for future studies.
Credit to @leonardomso's 33 JS Concepts Project for the inspiration.
Thanks to @kelseyyim for getting this started!
Community
Feel free to submit a PR adding a link to your own recaps or reviews. If you want to translate the repo into your native language, please feel free to do so.
All the translations for this repo will be listed below:
Table of Contents
Specs
- Queries
- Mutations
- Subscriptions
- Types
- Fields
- Root Field
- Relationships
- Introspection
- Arguments
- Union Types
- Interface Types
- Directives
- Type Extensions
- Relay Specification
- Schema Definition Language
- GraphQLSchema Object
Server
- Setting up a server
- Schema
- Resolvers
- Context
- Info Object
- Databases
- Dataloader
- Entry Points
- Schema Stitching
- SDL First
- Code First
- Middleware
Client
- Fetching
- Fragments
- Variables
- Alias
- Polling
- Cache
Best Practices
- Schema Design
- Pagination
- Logging
Specs
1. Queries
Articles
- π Queries and Mutations - Graphql.org
- π The Anatomy of a Graphql Query β Sashko Stubailo
- π Front End Queries Made Easy - Rasheed Bustamam
- π An Introduction to Graphql Queries - Alligator.io
- π Examples for GraphQL-Queries and Mutations - predict8
Videos
- π₯ GraphQL Tutorial #4 - Making Queries - The Net Ninja
- π₯ Writing GraphQL Queries - Live Coding with Jesse
β¬ Back to Top
2. Mutations
Articles
- π Mutations in GraphQL - Alexander Kondov
- π Mutations - GraphQL.org
- π Organizing GraphQL Mutations - Jeff Lowery
- π GraphQL mutations: Partial updates implementation - Arnaud BezanΓ§on
- π Modeling GraphQL Mutations - Oleg Ilyenko
- π GraphQL Mutation Design: Anemic Mutations - Marc-AndrΓ© Giroux
- π Understanding GraphQL Mutations - Moon Highway
Videos
- π₯ GraphQL Tutorial #18 - Mutations - The Net Ninja
- π₯ GraphQL Tutorial #19 - More on Mutations - The Net Ninja
- π₯ Learn Apollo - Basic Mutations - Prisma
β¬ Back to Top
3. Subscriptions
Articles
- π Subscriptions in Graphql and Relay - Dan Schafer
- π From Zero to Graphql Subscriptions - Robert Zhu
- π Make web real-time with GraphQL subscriptions - David Qorashi
- π Realtime GraphQL Subscriptions - How to Graphql
- π A Guide to Subscriptions in GraphQL with Apollo -Brenda Jimenez
Videos
- π₯ What is a Graphql Subscription - Ben Awad
- π₯ Introducing GraphQL Subscriptions - Lee Byron
- π₯ How to build a Realtime Chat with GraphQL Subscriptions and Apollo - Prisma
- π₯ How to setup GraphQL Subscriptions Nodejs - Ben Awad
- π₯ How to add Authentication to your GraphQL Subscriptions - Ben Awad
β¬ Back to Top
4. Types
Articles
- π Constructing Types β Graphql.org
- π Schema types - Apollo
- π Object Types β Graphql.org
Videos
- π₯ Author Types β The Net Ninja
- π₯ Extending Schema Types - Full-stack GraphQL with Apollo, Meteor & React - LevelUpTuts
β¬ Back to Top
5. Fields
Articles
β¬ Back to Top
6. Root Field
Articles
Videos
β¬ Back to Top
7. Relationships
Articles
- π Thinking in graphs - Graphql.Org
- π A simple graphql example with relationships - Graphql Documentation
Videos
β¬ Back to Top
8. Introspection
Articles
β¬ Back to Top
9. Arguments
Articles
Videos
- π₯ Arguments - Novvum
β¬ Back to Top
10. Union Types
Articles
- π How to write add unions and interfaces to a schema - Apollo Documentation
- π Graphql Tour Interfaces and Unions β Clay Allsopp
- π Graphql Interfaces and Unions-How to design a Graphql Schema β David Mraz
- π Interfaces and Unions in GraphQL β AWS Documentation
β¬ Back to Top
11. Interface Types
Articles
β¬ Back to Top
12. Directives
Articles
- π GraphQL Directives - Abhi Aiyer
- π Use custom directives to protect your GraphQL APIs - David He
- π An introduction to GraphQL: Directives - Flavioscopes
- π The Power of GraphQL Directives - Εukasz Czyszczonik
- π Schema Directives - Apollo
- π SDL Directives - GraphQLJava
Videos
β¬ Back to Top
13. Type Extension
Articles
- π Type Extension - Facebook
- π Modularizing your GraphQL Schema Code: Extending types in multiple files - Apollo
- π Schema Extension - Facebook
- π The ultimate guide to schema stitching in GraphQL: Schema Extension - Rishichandra Wawhal
Videos
β¬ Back to Top
14. Relay Specification
Articles
- π GraphQL Server Specification - Facebook
- π Implementing the Relay spec in a GraphQL Server - Marc-Andre Giroux
- π Relay/GraphqL: De-mystifying Node ID - Soon Hin Khor
β¬ Back to Top
15. Schema Definition Language - SDL
Articles
- π Defining Graph Database Schemas by using the GraphQL Schema Definition Language - Olaf Hartig
- π GraphQL SDL, Schema Definition Language - Prisma Documentation
- π Three ways to represent your GraphQL schema - Sashko Stubailo
- π A GraphQL SDL Reference - Alligator
β¬ Back to Top
16. GraphQLSchema object
Articles
β¬ Back to Top
Server
17. Setting Up a Server
Articles
- π Building a server with Apollo - Apollo GraphQL
- π Your First GraphQL Server β Clay Allsopp
- π Learn to build a GraphQL server with minimal effort β Ian Wilson
- π Building a GraphQL Server with Node.js β Angus Croll
- π There and Back Again, A GraphQL Lifecycle Tale β Annie Lydens and Thomas Paresi
Videos
- π₯ Single GraphQL Server with Multiple Endpoints and Databases β Ben Awad
- π₯ Building a GraphQL Server [Part 1] β Traversy Media
- π₯ Building a GraphQL Server with TypeScript
- π₯ Learn how to build an API using GraphQL with Apollo Server 2.0 β Fireship
- π₯ Building Modern APIs with GraphQL - Robert Zhu
- π₯ GraphQL server tutorial for Node.js with SQL, MongoDB and REST β Apollo GraphQL
β¬ Back to Top
18. Schema
Articles
- π Understanding schema concepts - Apollo Documentation
- π Graphql Server Basics: Schemas Explained - Prisma Documentation
- π GraphQL Schema Language Cheat Sheet - Hafiz Ismail
- π GraphQL Server Basics: GraphQL Schemas, TypeDefs & Resolvers Explained - Prisma
Videos
β¬ Back to Top
19. Resolvers
Articles
- π GraphQL Resolvers: Best Practices - Mark Stuart
- π Overview of Resolvers - Graphcool Documentation
- π GraphQL Server Basics: GraphQL Schemas, TypeDefs & Resolvers Explained - Prisma
Videos
β¬ Back to Top
20. Context
Articles
- π GraphQL Context and Services - Eric Clemmons
- π Learning about Execution and Context - GraphQL
- π How does one set up database or other context in a graphql resolver - StackOverflow
β¬ Back to Top
21. Info Object
Articles
β¬ Back to Top
22. Databases
Articles
- π Selecting database as data source for GraphQL Server β Wojciech Trocki
- π Connecting Server and Database with the Prisma Client β Prisma
- π Using a GraphQL API for Database Administration β Michael Hunger
- π GraphQL as a database query language - Predrag Gruevski
- π Use all the databases β Loren Sands-Ramshaw
- π GraphQL for databases: A layer for universal database access β George Anadiotis
Videos
- π₯ Build a GraphQL Server with Node.js and MongoDB - Ben Awad
- π₯ Build a GraphQL server for Node.js, using PostgreSQL/MySQL - Lee Benson
β¬ Back to Top
23. Dataloader
Articles
- π Using dataloader with GraphQL: A Concrete Example β John Tucker
- π The GraphQL Dataloader Pattern: Visualized β Marc-AndrΓ© Giroux
Videos
- π₯ DataLoader β Source code walkthrough β Lee Byron
- π₯ DataLoader and the Problem it solves in GraphQL β knowthen
β¬ Back to Top
24. Entry Points
Articles
- π API Reference: entry points β GraphQL
- π Adding a GraphQL endpoint - Apollo Documentation
- π Running a scalable & reliable GraphQL endpoint with Serverless - Siddharth Gupta
- π Serving over HTTP: Endpoints - Graphql.org
Videos
β¬ Back to Top
25. Schema Stitching
Articles
- π The ultimate guide to Schema Stitching in GraphQL - Rishichandra Wawhal
- π GraphQL Stitching 101 - Artsy
- π Schema Stitching - Apollo Documentation
- π GraphQL Remote Schema Stitching in a Multi-Service Architecture - Suciu Vlad
- π Apollo Federation - Apollo
Videos
- π₯ API mashup: Combining APIs using GraphQL schema stitching - GitHub
- π₯ GraphQL Schema Stitching - Ben Awad
- π₯ GraphQL Schema Stitching with Prisma and Contentful - Nikolas Burk(Contentful)
β¬ Back to Top
26. SDL First
Articles
- π The Problems of "Schema-First" GraphQL Server Development - Prisma
- π Schema-First GraphqL: The Road Less Travelled - Jakub Draganek
Videos
β¬ Back to Top
27. Code First
Articles
- π Code-first - Hot Chocolate
- π Introducing GraphQL Nexus Code First GraphQL Server Development - Prisma
- π The Problems of Schema-First GraphQL - Prisma
β¬ Back to Top
28. Middleware
Articles
Videos
β¬ Back to Top
Client
29. Fetching
Articles
Videos
- π₯ Fetching data from an API in GraphQL - Ben Awad
- π₯ Building a GraphQL Server, RootQuery & Fetching Data - Traversy Media
β¬ Back to Top
30. Fragments
Articles
- π Using fragments - Apollo
- π How to query your schema with GraphQL fragments - David MrΓ‘z
- π GraphQL Fragments are the Best Match for UI Components - Samer Buna
Videos
β¬ Back to Top
31. Variables
Articles
- π GraphQL Tour: Variables - Clay Allsop
- π Introduction to GraphQL: GraphQL Variables - Flavioscopes
Videos
- π₯ GraphQL Tips: Query Variables - Novvum
- π₯ GraphQL Tutorial #32: Query Variables - The Net Ninja
- π₯ GraphQL Tips: Default Values for Variables - Novvum
β¬ Back to Top
32. Alias
Articles
- π An Introduction to GraphQL: Aliases - GraphQL Mastery
- π How to use GraphQL aliases - GraphQL Mastery
- π More GraphQL Concepts: Aliases - HowtoGraphQL
Videos
β¬ Back to Top
33. Polling
Articles
β¬ Back to Top
34. Cache
Articles
- π A Different Approach to GraphQL Caching - Adam Reacts
- π Understanding Caching - Weblab Technology
- π Caching with GraphQl: What are the best options? - Will Howard
- π GraphQL VS Rest: Caching - Phil Sturgeon
- π Learn Caching - Graphql.org
- π Overview: GraphQL Query Parsing and Caching at the Edge - Monika Rathor
- π GraphQL & Caching: The Elephant in the Room - Marc-AndrΓ© Giroux
Videos
- π₯ GraphQL Caching using DataLoader β Fun Fun Function
- π₯ Feature: GraphQL Caching with DataLoader β Ben Awad
β¬ Back to Top
Best Practices
35. Schema Design
Articles
- π GraphQL best practices for GraphQL schema design - David Mraz
- π GraphQL Schema Design: Building Evolvable Schemas - Marc-AndrΓ© Giroux
- π Writing a Graphql Schema - Eitan Frailich
- π Abstract Demand Oriented Schema - Apollo
Videos
β¬ Back to Top
36. Pagination
Articles
- π Pagination
β¬ Back to Top
37. Logging
Articles
β¬ Back to Top
Contributors
Thanks goes to these wonderful people (emoji key):
Kelsey Yim π§ |
Rohit Ravikoti π§ |
Alli Colyer π |
Raj K Singh π |
Jorge Carlos π |
Henry Yang π |
TrevHeath π |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!