
Paths
GraphQL API's with Apollo
Apollo is the industry-standard GraphQL implementation, providing the data graph layer that connects modern apps to the cloud. It provides a better way to build APIs by managing... Read more
- Build a GraphQL API with Apollo Server
- Consume a GraphQL API with Apollo Client and React
- Create Event Driven Updates with Apollo Subscriptions
- Apollo Performance Management
- Secure a GraphQL API with Apollo
- Test Apollo
Pre-requisites
- JavaScript
- React
- HTML
- CSS
GraphQL API's with Apollo
Apollo is the industry-standard GraphQL implementation, providing the data graph layer that connects modern apps to the cloud. It provides a better way to build APIs by managing all of your data in one place. It is suited for modern architecture and helps you build great experiences faster. In this path you will learn the basics of GraphQL and Apollo while creating, consuming and testing a fully functional API.
GraphQL: The Big Picture
1h 17m
Description
Have you thought about an alternative to REST that will enable you to write client-driven APIs?
GraphQL is a query language that provides an efficient, powerful, and flexible approach to developing web APIs. GraphQL has gained immense popularity in the last few years with many Fortune 500 companies using it for their product development. In this course, GraphQL: The Big Picture, you will why GraphQL has become so popular. First, you'll explore a big picture overview of GraphQL, and learn about its core concepts. Next, you will examine when and why you should choose GraphQL. Finally, you will discover the diverse GraphQL ecosystem and tools that are available today. After watching this course, you will have a clear understanding of GraphQL's core features, capabilities, and advantages. This course will enable you to make an informed decision on whether GraphQL is right for your company.
Table of contents
- Course Overview
- What Is GraphQL?
- GraphQL Core Concepts
- Why GraphQL?
- GraphQL Ecosystem and Tooling
- Summary & Next Steps
Building a GraphQL API with Apollo Server
2h 5m
Description
At times, REST APIs can result in multiple calls to the server and excessive data being returned to the client. In this course, Building a GraphQL API with Apollo Server, you'll learn to build APIs that return multiple resources over one call, and give the client control over what data is returned. First, you'll explore what GraphQL is and how to define your resources with a schema. Next, you'll discover how to resolve queries and nest objects. Finally, you'll learn how to modify your data with object mutations. When you're finished with this course, you'll have the skills and knowledge needed to build flexible and scalable GraphQL APIs in Apollo.
Table of contents
- Course Overview
- Getting Started
- Resolving Queries
- Nesting Data
- Mutating Data
- Error Handling and Validation
- Working with Apollo Studio
Consuming a GraphQL API with Apollo Client and React
2h 1m
Description
Traditional REST APIs are not always focused on the client. GraphQL is an alternative where the client has more power to ask for what they want and get exactly that back in a single call. In this course, Consuming a GraphQL API with Apollo Client and React, you’ll learn to consume and interact with GraphQL APIs from your frontend React application. First, you’ll explore writing queries to retrieve data from the GraphQL API. Next, you’ll learn more about the GraphQL Schema using API introspection techniques. Finally, you’ll learn how to write mutations to modify and update the GraphQL data. When you’re finished with this course, you’ll have the skills and knowledge to build frontend applications that can consume GraphQL API using the Apollo client.
Table of contents
- Course Overview
- Setup React and Apollo Development Environment
- Exploring the GraphQL Schema with Introspection
- Queries - Retrieve Data from GraphQL
- Mutations - Modify and Update GraphQL Data
Event Driven Updates with Apollo Subscriptions
1h 5m
Description
All too often, a client website’s data becomes stale and out of date with what is available on the server. A standard way to handle that is by implementing a polling system that has the client ping the server for up to date information at regular intervals. But there is a better way! In this course, Event Driven Updates with Apollo Subscriptions, you’ll learn to implement GraphQL subscriptions to keep your client and server in sync. First, you’ll learn how to implement subscriptions on the client side and explore what that means. Next, you’ll discover how to implement that subscription on the client side and keep your client page up to date. Finally, you’ll explore how to authenticate and filter subscriptions on both sides of the application. When you’re finished with this course, you’ll have the skills and knowledge of Apollo needed to build real time applications that keep their information up to date.
Table of contents
- Course Overview
- Creating a Subscription
- Consuming GraphQL Subscriptions
- Securing GraphQL Subscriptions
- Filtering Subscriptions
Apollo: Performance Management Playbook
3h 20m
Description
The Apollo GraphQL client and server work together well, bringing performance and workflow benefits to your total GraphQL solution, and is a game changer for delivering high quality production GraphQL solutions. In this course, Apollo: Performance Management Playbook, you’ll learn to improve the performance of both an Apollo server and an Apollo client. First, we’ll explore a simple implementation of an Apollo server, as long as it’s companion Apollo client can easily be setup to call it. Next, you’ll discover, how with doing no extra programming, you get a huge performance gain from the built-in cache baked into the Apollo client. Finally, you’ll learn many techniques for building highly interactive web pages that require both server and client programming including implementation paging, infinite scrolling and how to build an optimistic UI. When you finish this course, you have the skills and knowledge associated with building Apollo servers and clients needed to build apps that not only have very efficient server back ends, but also clients that are easy for browser users to use and consume very few resources.
Table of contents
- Course Overview
- Building a Simple and Performant Apollo Server
- Building a Simple and Performant Client App
- Learning Apollo Client Caching Techniques
- Using Apollo Client for Redux-like State Management
- Learning to Use Offset and Infinite Pagination with Apollo
- Using the DataLoader to Improve Server Response Times
- High Performance Caching Strategies with Apollo Server
- Improving Performance with Server-side Rendering and Serverless Computing
Securing a GraphQL API with Apollo
1h 29m
Description
Securing APIs has always been an important part of web application development, and with GraphQL it is no different. Access control is a critical aspect of your API whether you’re developing for internal or third-party use. In this course, Securing a GraphQL API with Apollo, you’ll learn to implement modern security practices for using GraphQL effectively on the server and client, as well as protection against complex queries specific to GraphQL APIs. First, you’ll explore how authentication is handled for Apollo on both the server and client. Next, you’ll discover how GraphQL can give you fine-grained role-based access for your models, even down to the field level. Finally, you’ll learn about complex queries and how to handle and prevent them. When you’re finished with this course, you’ll have the skills and knowledge of how to build modern, secure GraphQL APIs with the Apollo server and client libraries.
Table of contents
- Course Overview
- Implementing Header Authentication for Apollo Server and Client
- Implementing Cookie Authentication for Apollo Server and Client
- Restricting Access for Types and Fields with Roles and Permissions
- Protecting Against Large and Malicious Queries
Testing Apollo
1h 55m
Description
The Apollo GraphQL library is one of the most popular tools around for building a GraphQL-based application. Just like any other application, Apollo applications need to be tested. Building a full-stack application means you need to know how to test the React side built with Apollo Client as well as the server-side built with Apollo Server. This course, Testing Apollo, will walk you through testing both the client and the server. First, you will learn about testing queries and mutations in your react application. Next, you will explore unit testing your resolvers as well as integration and snapshot tests. Finally, you will discover how to use introspection to get the schema definition of a GraphQL database. By the end of this course, you will know how to properly test your Apollo client and server.
Table of contents
- Course Overview
- Apollo Testing Introduction
- Unit Testing an Apollo Client
- Unit Testing an Apollo Server
- Integration Testing