GraphQL
Client-specified queries instead of fixed endpoints.
GraphQL is taught here in 13 lessons, running from Schema and type system through to Federation, caching and next steps. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.
| Track | Back-end Development |
| Lessons | 13 |
| Level | Beginner to intermediate |
| Reading time | about 3 hours |
| Prerequisites | Helpful, but not required: Ruby |
Lessons
- Schema and type systemThe schema definition language, nullability, and why the schema is the contract your clients are generated from.
- Queries, mutations and resolversHow a document becomes a result: the resolver map, the per-request context, and the execution stages.
- When GraphQL beats REST, and its pitfallsAn honest comparison with REST, plus the N+1, caching and cost-control problems you must plan for.
- Writing queries: variables, fragments and directivesNamed operations, variables with defaults, fragments on types and interfaces, aliases, and conditional inclusion with @include and @skip.
- Building a GraphQL serverSchema-first versus code-first, wiring an executable schema, building context per request, shaping errors and useful development tooling.
- Pagination and the connection patternOffset versus cursor pagination, building a Relay connection, pageInfo semantics, and why stable ordering is not optional.
- Error handling, validation and custom scalarsErrors versus transport failures, extension codes clients can switch on, input validation with unions and custom scalars done properly.
- Authentication and field-level authorizationAuthenticating in context, guarding operations, field-level rules, schema directives for policy, and depth and complexity limits.
- DataLoader and solving the N+1 problemWhy a nested field causes one query per parent, how batching and per-request caching work, and the N+1 cases a loader does not fix.
- Subscriptions and real-time updatesThe WebSocket transport, pub/sub design, the subscription lifecycle, backpressure and scaling past a single instance.
- Schema design, evolution and toolingAdditive change versus versioning, safe deprecation, schema checks in CI, code generation, persisted queries and linting.
- Testing GraphQL APIsResolver unit tests, integration tests that execute a real document, schema snapshots, mocking data sources and testing error paths.
- Federation, caching and next stepsWhy HTTP caching struggles with GraphQL, response caching by operation, Apollo Federation basics, and where to read next.
More in Back-end Development
Node.js PHP Java HTTP Go Rust Spring Boot Laravel Ruby
FAQ
How long does the GraphQL course take?
It has 13 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for GraphQL?
Not strictly. It helps to have read Ruby first, because some lessons build on it, but every lesson explains its own assumptions.
What should I read after GraphQL?
This is the last course in Back-end Development right now. Browse the other tracks from the courses index to go sideways.