Skip to content

GraphQL Design — From Zero to Hero

A standalone, beginner→advanced course on designing GraphQL APIs, taught with TypeScript. From the type system to schema design, resolvers, Relay pagination, the N+1 problem, security, and federation — with queries that actually execute in the browser.

GraphQL Foundations

What GraphQL is, the type system & SDL, and the request lifecycle. Start →

Schema Design

Types, scalars, enums, interfaces, unions, inputs, and nullability. Design →

Queries & Resolvers

Queries, the resolver chain, arguments & variables, fragments. Resolve →

Mutations & Subscriptions

Mutation design, the input/payload pattern, real-time subscriptions. Write →

Pagination & Relationships

Relay cursor connections, relationships, the N+1 problem & DataLoader. Page →

Errors & Validation

The errors array, partial results, error extensions, input validation. Handle →

Security & Performance

Auth via context, authorization, depth/complexity limiting, caching. Secure →

Tooling, Federation & Building

Schema-first vs code-first, codegen, testing, federation, GraphQL Yoga. Ship →

GraphQL runs in your browser

Queries and mutations execute live against in-memory schemas (the reference implementation), and full GraphQL Yoga servers open in StackBlitz.

Diagrams that explain

The request lifecycle, the resolver chain, the Relay connection model, and federation as theme-aware Mermaid diagrams.

Design, not just syntax

Every topic covers the why and the trade-offs — schema choices, the N+1 problem, error shapes, and securing a flexible endpoint.

Bilingual + read mode

English and ไทย, quizzes with saved progress, and a distraction-free read mode.