MFS201

The Art of Designing GraphQL APIs: An In-Depth Exploration

Chapters (4)

Chapter 1

XP

The Core Concepts of GraphQL

Chapter Progress

No progress yet

LESSONS (5)

1
Overview of the Course

10 XP

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.

2
Diving into GraphQL: An Introduction

12 XP

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.

3
Introducing the Planetary Party Planner Project

10 XP

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.

4
Designing Efficient Schemas in GraphQL

15 XP

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.

5
Resolvers in GraphQL

15 XP

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.

Chapter 2

XP

How to Build and Deploy GraphQL APIs

Chapter Progress

No progress yet

LESSONS (4)

1
The Two Ways to Build GraphQL APIs: Schema-first and TypeScript-first

12 XP

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.

2
Authentication, Authorization, and Error Handling in GraphQL

12 XP

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.

3
TypeScript-first GraphQL APIs with Pothos

12 XP

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.

4
Exploring Deployment Horizons: Different Ways to Deploy GraphQL APIs

12 XP

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

Chapter 3

XP

How to Consume GraphQL APIs

Chapter Progress

No progress yet

Chapter 4

XP

Advanced GraphQL Secrets

Chapter Progress

No progress yet

LESSONS (6)

1
Paging Through Data through a GraphQL API

12 XP

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.

2
Real-time Communication with GraphQL Subscriptions

12 XP

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.

3
API Version Control (or Lack Thereof): Keeping Your GraphQL API Fresh

12 XP

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.

4
Turbocharging your GraphQL API with Caching

12 XP

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.

5
Domain Over Data: How to Design Scalable GraphQL APIs

12 XP

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.

6
Resources on GraphQL

12 XP

A curated set of resources to dive even deeper into GraphQL.