The Art of Designing GraphQL APIs: An In-Depth Exploration
The Core Concepts of GraphQL
No progress yet
Overview of the Course
In this lesson, we'll provide a bird's eye view of the entire course, giving you a glimpse of what's in store as you embark on your GraphQL journey. We'll touch upon the key topics and concepts that will be covered in each chapter, offering a clear roadmap to guide you through this course.
Diving into GraphQL: An Introduction
Embark on your GraphQL journey, learning about its origins, core concepts, and why it's transforming the way we build APIs. Understand the benefits and use cases of GraphQL, setting the stage for your API mastery.
Introducing the Planetary Party Planner Project
In this lesson, we'll introduce our demo project, the Planetary Party Planner, which will be the centerpiece of our learning experience throughout the course. By working on this project, you'll gain hands-on experience implementing features such as authentication, pagination, caching, and more, all within a practical and fun application.
Designing Efficient Schemas in GraphQL
Master the art of designing GraphQL schemas that define the shape of your data and set the foundation for your API. Learn how to create types, queries and mutations that work harmoniously to provide a seamless API experience.
Resolvers in GraphQL
Learn the importance of resolvers in data retrieval and how they play a crucial role in GraphQL's flexibility. Dive into resolver chaining, a powerful technique for optimizing the performance and organization of your API.
How to Build and Deploy GraphQL APIs
No progress yet
The Two Ways to Build GraphQL APIs: Schema-first and TypeScript-first
Explore the two popular ways to build GraphQL APIs - schema-first and TypeScript-first - and choose the path that suits your project best. Gain an understanding of the benefits and drawbacks of each approach to make an informed decision.
Authentication, Authorization, and Error Handling in GraphQL
Ensure your GraphQL API is secure, user-friendly, and resilient with proper authentication, authorization, and error handling. Learn best practices for protecting sensitive data, managing user access, and handling errors gracefully.
TypeScript-first GraphQL APIs with Pothos
Delve into the world of Pothos for creating TypeScript-first GraphQL APIs, unlocking the benefits of strong typing and rapid development. Understand the advantages of using TypeScript in your GraphQL API and how Pothos streamlines the process.
Exploring Deployment Horizons: Different Ways to Deploy GraphQL APIs
Discover the various deployment options for your GraphQL API, taking it from development to production seamlessly. Learn about different hosting platforms and serverless environments, ensuring your API is accessible, reliable, and performant. Compare deploying on AWS with SST vs Deploying on managed platform like Fly.io, or on the Edge with Cloudflare
How to Consume GraphQL APIs
No progress yet
The Different Ways to Consume a GraphQL API
Explore the various options for consuming GraphQL APIs, from simple fetch requests to powerful libraries. Gain an understanding of the trade-offs between different approaches, helping you choose the right solution for your needs
An Example: Using Urql to Query a GraphQL API from Applications
In this lesson, we'll dive into using urql in our React application to consume the GraphQL API. You'll learn how to set up urql, create and execute queries, mutations and handle responses effectively. By the end of this lesson, you'll be well-equipped to use urql for consuming GraphQL APIs in your React app.
Advanced GraphQL Secrets
No progress yet
Paging Through Data through a GraphQL API
Uncover the secrets of efficient data retrieval with GraphQL pagination techniques. Learn how to implement cursor-based and offset-based pagination, providing flexible and performant solutions for clients consuming your API.
Real-time Communication with GraphQL Subscriptions
Explore real-time communication in GraphQL via subscriptions. Grasp the fundamental workings of subscriptions, and understand the power of real-time updates. Dive deep into the concepts, including how subscriptions use the WebSocket protocol. Learn how to implement simple to advanced subscriptions using Pub/Sub techniques in GraphQL Yoga.
API Version Control (or Lack Thereof): Keeping Your GraphQL API Fresh
Explore the unique challenges of versioning in GraphQL and learn how to effectively manage API evolution. Understand strategies for handling breaking changes and maintaining backward compatibility without sacrificing future development.
Turbocharging your GraphQL API with Caching
Understand how caching helps you significantly improve your API performance, the difficulties of caching in GraphQL, and learn how to implement caching in your Yoga GraphQL API. We will also talk about how to invalidate the cache intelligently and implement session-based caching.
Domain Over Data: How to Design Scalable GraphQL APIs
Learn how to design GraphQL APIs that scale with your application, focusing on domain-driven design. Understand best practices for organizing your schema, structuring your resolvers, and managing complex relationships between types.
Resources on GraphQL
A curated set of resources to dive even deeper into GraphQL.