
This section gives an overview of the entire course.
In this section, you will learn how to install and set up the environment. Let us install:
Node.js
Visual Studio Code
In this section, we dive into different GraphQL concepts with practical implementations. We will begin by setting up a minimal Express application and gradually integrate GraphQL implementations while learning different concepts. This section covers the following:
Lesson Objectives
Lesson Map
An Introduction to GraphQL
GraphQL has some clear advantages over REST, especially when it comes to some of the features mentioned in GraphQL that we'll be discussing now.
In this section, we'll see the basic concepts that will be used to create a simple GraphQL application and also run the Express application.
In this section, we will cover the following sub-topics:
Creating a GraphQL Server
Running a Query to Retrieve All Author's Age Only
Named Queries
Arguments
Let us now understand what are variables, query aliases, and fragments.
In this section, we will try to understand the two inbuilt directives that GraphQL provides—the skip and include directives. We will also have the look at what mutations.
Let us now create and update an author in our application.
This section shows how to delete an Author. It also shows us how to use GraphQL.js and Express.js which has been developed by Facebook.
This section summarizes your learning from this lesson.
In this lesson, we are going to focus on making our server respond to requests in real time. We will also look at third-party development tools by Graphcool that have made learning and implementation of GraphQL very easy.
Lesson Objectives
Lesson Map
Real-time data querying has become a need of the hour. By processing the data in real time, we can gain easy and real-time insights about the data.
This section covers the following:
Refactoring the code to make it more readable
Subscriptions
Hooking up PubSub
Adding Subscriptions to Schema
Configuring the Server to Use WebSocket
Let us now learn about GraphQL Playground and its features. We'll also understand the graphql-yoga server and its libraries. Next, we'll create a server using graphql-yoga and look at how to implement subscriptions in it.
One of the tools developed by the Graphcool community is called the Graphcool Framework, an opinionated tool to develop serverless GraphQL backends.
Let us dive deep and learn about the following in detail:
Graphcool Framework and its features
GraphQL services
Type definitions
Permission rules
In this section, we will understand the different GraphQL functions such as subscriptions, resolvers, and hooks.
This section shows how to create a Graphcool Framework application. It also covers how we can include some permissions to control access to API information. Since we define permissions, we also see how to set up a mode of authentications that will be used to enforce the permissions. Finally, we deploy our application and test it out.
This section covers the following:
Implementing sign up and authentication using mutations and variables
Generating the insufficient permissions error with missing tokens
Understanding the Prisma framework
The src folder
The database folder
This section covers the following:
Creating an app and a database section of our existing application using Prisma
Creating a Book record directly and fetching the books in the database section
In this section, we'll understand how to link books and users with each other. We'll also add authentication to our Prisma API.
This section shows how to update the schema by implementing the loginUser and signupUser methods.
This section shows how to grab the logged in user, create the book, and link the created book with the user.
This section summarizes your learning from this lesson.
In this lesson, we will use the Apollo Client together with the view layer implementation for react called react-apollo. We will cover how to use a simple web-based application to access queries instead of writing them manually. We will also look at how we can have our application interface update in real time and how to make optimistic UI updates.
This section covers the following:
Lesson Objectives
Lesson Map
In this section, we will learn to:
Set up a React application
Fetch a list of books from the application
Advantages of using Apollo Client
In this section, we'll learn to link a React application with GraphQL using Apollo Client and react-apollo. We'll also see how the server verifies the authentication of the user.
In this section, the following sub-topics will be covered:
In this section, we will understand how to create a new book form with validations.
Let us now try our hands on the following:
Creating a book for redirecting to a page with lists of books
Testing the creation of a new book record
This section summarizes your learning from this lesson.
This fast-paced course is specially designed for learning all aspects of GraphQL. You will start by understanding basic features of this language. You will learn how to integrate GraphQL with server-side applications, and how to implement the querying of data in real time. You will also discover ways to connect GraphQL with server-side applications using the Apollo client. By the end of the course, you will be able to successfully create fast client-server REST-like applications.
About the Authors
Brian Kimokoti is a software developer with Andela. He holds a Bachelor’s degree in Computer Science from the Multimedia University of Kenya. Since the last 5 years, Brian has been developing applications in PHP, JavaScript, and Python. Brian is a regular tech blogger on different online platforms and aspires to gain more experience and skills to an engineering and architect level.
Xavier Decuyper is a full-stack developer from Belgium with experience in working with JavaScript, and PHP. He also has experience with frameworks such as Laravel and Angular 6.
He's very passionate about all kinds of technologies and loves taking up complex topics and explaining them in a simple and straightforward way. It’s this passion that got him into making YouTube videos and courses. He's a YouTuber as well and his videos have been watched over 5 million times and he has over 15,000 students.
He has also given a few talks at international conferences about technology and blockchain. You can follow him on Twitter or subscribe to his YouTube channel: "Simply Explained"