Course Objective & Scope
When web and mobile clients need richly related data on a single screen, REST endpoints often lead to over-fetching or multiple round-trips. GraphQL solves this client flexibility problem, while introducing engineering challenges around N+1 queries, caching and abusive deep queries.
This course covers strongly typed schema modelling, resolver architecture, mutation and error design, batching with DataLoader, real-time subscriptions, query depth/cost limits, and composing microservices into a single supergraph with Apollo Federation. Participants build a GraphQL service in their organisation's stack (Node.js/Apollo, .NET/HotChocolate or Java/Spring for GraphQL) and draft a schema design guide.
Who Should Attend?
- Backend developers building APIs or Backend-for-Frontend (BFF) layers for web and mobile clients
- Full-stack developers co-designing client-server data contracts
- Architects unifying multiple downstream services behind a federated API layer
- Prerequisite: HTTP and REST API development experience in any backend language
Key Takeaways
- Design an evolvable, backward-compatible GraphQL schema using types, interfaces, unions and inputs
- Eliminate N+1 database and service calls across nested fields with DataLoader
- Harden the API with field-level authorisation, persisted queries and query depth/complexity limits
- Implement Relay cursor pagination and structured mutation error payloads
- Compose multiple subgraphs into a unified supergraph using Apollo Federation
Curriculum
GraphQL Fundamentals and Schema Design
- GraphQL vs REST/gRPC: when to choose GraphQL or a BFF layer
- SDL, Object/Scalar/Enum types, Interfaces, Unions and Input objects
- Schema-first vs Code-first approaches, naming conventions and nullability rules
Queries, Mutations, Subscriptions and Error Modelling
- The resolver execution tree, context objects and connecting data sources
- Mutation design, payload patterns and modelling domain errors in the schema
- Cursor-based pagination with the Relay Connection spec and Subscriptions
Performance: The N+1 Problem, DataLoader and Caching
- Analysing the N+1 query problem in nested resolvers
- Batching and per-request caching with DataLoader
- Automatic Persisted Queries (APQ) and response/field caching strategies
Security, Authorisation and Production Hardening
- Authentication and field-level authorisation with directives/middleware
- Query depth limiting, query complexity/cost analysis and rate limiting
- Managing introspection, field-level metrics and tracing in production
Schema Governance and GraphQL Federation
- Schema evolution without breaking changes (@deprecated) and schema linting
- Distributed subgraph architecture with Apollo Federation v2 (@key, @external, Router)
Other Courses in This Category
-
Software Modelling with Domain-Driven Design (DDD)
Ubiquitous language, Event Storming, Subdomain and Bounded Context mapping, and Aggregate/Entity/Value Object/Domain Event tactical patterns — for engineering and architecture teams modelling complex business domains.
- Live Course
- 5 modules
-
Inter-Service Communication with gRPC and Protocol Buffers
Protocol Buffers (proto3) schema design, HTTP/2 unary and streaming RPC models, schema governance with Buf, deadline/cancellation propagation, load balancing and mTLS security — for teams building low-latency inter-service communication.
- Live Course
- 5 modules
-
Data Structures and Algorithms for Software Engineers
Big-O time and memory complexity, array/hash table/tree/graph/heap data structures, searching and sorting, dynamic programming and cache-friendly design — for backend engineers processing high-volume data without bottlenecks.
- Live Course
- 5 modules
-
Modern Web and API Development with PHP 8 and Laravel
Modern PHP 8.x type system and OO features, Composer/PSR standards, MVC and REST API development with Laravel (or Symfony), Eloquent ORM, queues, security and Pest/PHPUnit testing — bringing PHP teams up to modern engineering standards.
- Live Course
- 5 modules
-
Java and Spring Boot Backend Development
Build REST APIs with Spring Boot 3, data access with Spring Data JPA, authentication with Spring Security and tests with Testcontainers — a production-ready service skeleton for Java backend developers.
- Live Course
- 6 modules
-
.NET and ASP.NET Core Web API Development
ASP.NET Core Web API and Minimal APIs, Entity Framework Core, dependency injection, middleware and authentication — for teams building maintainable, testable backend services on .NET 8/9.
- Live Course
- 5 modules
Get in touch