1. Destination supergraph

๐Ÿš€ Destination supergraph

Welcome to Lift-off: destination supergraph! If you've enjoyed the Catstronauts ride so far and want to take your to the next level, look no further.

This course builds on the concepts and progress from the four previous installments of the Lift-off series. So, to follow along, you'll need to be familiar with the and basics covered in those lessons (including schemas, , queries, and ).

In this course, we'll revisit our Catstronauts app and prepare it for its next big evolution. We want to add a feature: certifications!

So far, our catstronauts are able to take all sorts of courses about space travel before they blast off. Now, we want to expand our app so that users can actually get certified with Catstronaut pilot licenses! (Did you know YOU can get GraphQL certified too!?)

To get started with this, we'll need a new type for users, a way to keep track of certifications, and... hmm... actually, lets pause for a second. Building a whole new, fully functioning feature like this is a huge task. We'll have to make a bunch of additions to our to get this feature up and running. How can we make sure we're structuring our backend code in a way that's organized and easy to maintain?

The answer: by converting our Catstronauts into a supergraph.

Illustration of a supergraph, made up of multiple hexagons representing subgraphs

We'll use the lessons ahead to get to know the and its core concepts. Along the way, we'll build a supergraph for Catstronauts so that future developers can add features like certifications with ease. By the end of our time together, you'll have the skills and understanding to take your graph even further with our Voyage series.

So, let's start by setting clear goals for where we're headed. By the end of this course, we want our Catstronauts app to have:

  • a tracks that returns track information (like what we've already implemented)
  • a users that returns data about user details
  • a single endpoint that clients can for both track and user details

Note: This course focuses on learning how a works with local development. If you'd like to learn more about our cloud-hosted solution, check out the Getting started with GraphOS course!

You may be asking yourself, โ€œWhat are these and ?โ€ We'll answer that next. Ready to supercharge your graph? Let's hop onto the supergraph express!

What type of graph are we building in this course?

Share your questions and comments about this lesson

Your feedback helps us improve! If you're stuck or confused, let us know and we'll help you out. All comments are public and must follow the Apollo Code of Conduct. Note that comments that have been resolved or addressed may be removed.

You'll need a GitHub account to post below. Don't have one? Post in our Odyssey forum instead.