GraphQL language course

Interactive dashboard

The course is split into 5 main modules. Each module has its own submodules. To navigate through modules and submodules you can always return to your dashboard. On your dashboard you can see exactly what modules you have finished and what is next up for you.


Each module contains multiple submodules and each submodule contains an article and sometimes a quiz and a video to fully internalize your newly learned GraphQL skills. On the right side you can see your progress within the current module, and also navigate to your final module quiz.

Final quiz

After each module you can test your knowledge to be really sure that you have internalized all material from the previous module. After the quiz is evaluated you will receive your score, and your personal progress bar in the course will be updated. You are free to retake the quiz any time you want.

Module road map

GraphQL technology

What is GraphQL, and why is it slowly replacing REST APIs? What was the motivation for creating GraphQL, and what problems does it solve? How does GraphQL connect to Graph theory? What are GraphQL’s main advantages over technologies?

GraphQL basics

We will cover the syntax of a GraphQL document; the basics of Schema Definition Language (SDL); and finally the available operation types and their differences. What are arguments and variables? How does the GraphQL server execute and validate GraphQL requests?

GraphQL type system

We will introduce GraphQL's type system. We will first define the theoretical basics for the type system, then go through all available types in GraphQL. We will be going through scalars and custom scalars, enums, objects and input object types, modifiers and, of course, interfaces and unions.

GraphQL Language advanced features

In this module we will cover the more advanced features of the GraphQL language. We will learn how to use introspection queries, fragments and aliases. We will also go through all default directives and play with the so-called GraphQL subscription (real time functionality in GraphQL).

GraphQL in practice

In this module we will put together all the knowledge from all previous modules and discuss the most efficient ways to work with GraphQL. We will go through the available GraphQL tools and discuss how we can incorporate them into our workflow.

In-browser exercises

I always wanted to learn to code without much setup on my computer. It is frustrating to have to install a number of libraries just to try new things. In our GraphQL language course you can try the features right in the browser without any additional setup.


Is this course really for free?

Yes, this is course is totally free. We will offer also paid courses in the near future, but the GraphQL Language course will be free forever. In addition it will stay up-to-date :)

Should I have some specific knowledge before taking the course?

No specific knowledge is required. It would be helpful tohave some general knowledge about web development, but the course aims to present the material from the beginning, including an introduction to the basics of API usage. However, if you would like to build GraphQL servers after completing the course, you will need to know a language to use with GraphQL.

Is this course focused on some specific language where we would be implementing GraphQL?

We tried to prepare this course such that the knowledge taught is applicable to any language for which the GraphQL can be implemented. We therefore focus on features that are GraphQL-language-specific and not language implementation specific. You can use this course whether you work in Javascript, Python, C#, Java, Scala, PHP or other languages.

Join thousands of others and learn from GraphQL Mastery for free in the browser.