April 2, 2024

Learn GraphQL & Federation with .NET, Java, or TypeScript

Michelle Mabuyo

Michelle Mabuyo


GraphQL streamlines data flow between clients and services, acting as the composition layer in the middle. As businesses strive for scalable and maintainable solutions as their services grow, a federated GraphQL API is becoming the go-to architecture to meet these evolving demands. 

If you’re searching for helpful beginner resources to dive into GraphQL and Apollo Federation, we’ve got you. Odyssey is Apollo’s official learning platform, where you can boost your developer skills with hands-on GraphQL tutorials and trainings.

Over the past year, Apollo’s Education team has helped close to 40,000 learners on their GraphQL learning journey, starting with JavaScript and Apollo Server implementations. 

Because GraphQL’s potential stretches far beyond the JavaScript realm, we’ve expanded our curriculum to support three new languages: Java, .NET (C#) and TypeScript.

What you’ll learn & build

Getting to know GraphQL

In the first course, “Intro to GraphQL”, you’ll build the core of a music catalog API: showcasing featured playlists, listing a playlist’s tracks, and adding tracks. Along the way, you’ll learn how to:

  • Implement a GraphQL server
  • Use an existing REST API as a data source
  • Describe the journey of a GraphQL operation from client to server and back
  • Follow best practices for writing and designing queries and mutations

Introduction to Apollo Federation

In the second course, you’ll learn about federation and add a new domain to your GraphQL API. You’ll learn how to:

  • Describe the architecture of a supergraph (subgraphs and the router)
  • Create entities in a federated schema
  • Explore graph insights and schema delivery
  • Ship features safely using the Rover CLI’s features to publish subgraphs, run schema checks and facilitate local development

These courses are currently offered in three different flavors, depending on which language you’re most comfortable with. Each language uses a specific framework or library:

  • .NET (C#) & Hot Chocolate
  • Java & DGS
  • TypeScript & Apollo Server

> Coming soon: Python & Strawberry! Let us know if you want to see other languages or frameworks.

Testing your understanding

Each lesson ends with a Practice section to assess your knowledge and understanding. By answering the multiple choice questions or fill-in-the-blank quizzes, you’ll reinforce the concepts you’ve learned about. Don’t worry, you’ve got three tries to get it right, and the course contents have the answers!

Completing each Practice section brings you one step closer to overall course completion status!

Asking for help

We all get stuck sometimes; it’s part of the process! You’ve got a few different ways to reach out:

  • In-lesson comments: At the bottom of each lesson, you’ll find a space to share your thoughts, questions or issues. You can read other learners’ comments and contribute answers too.
  • Discord: Find thousands of other GraphQL developers, including Apollo engineers, to discuss topics and share experiences.
  • Community forum: Don’t forget to tag your post with odyssey!

You can use these channels to share your feedback too! These courses are currently still in beta, and we’ll continue to iterate based on your experiences.

Next steps

Ready to learn? Find your language of choice and get started:

For those new to GraphQL, try Intro to GraphQL with…

For those already familiar with GraphQL, try Federation with…

Looking forward to reading your feedback!

Written by

Michelle Mabuyo

Michelle Mabuyo

Read more by Michelle Mabuyo