We may earn an affiliate commission when you visit our partners.
Memi Lavi

Web API is usually the most important part in a web app.

This is how you expose your web app to the world, and to other users, and it must be fast, easy to use, and up-to-date.

GraphQL is one of the most advanced and exciting web APIs in the industry today, and it adds a lot of value to any web app. Its great flexibility and many implementations make it an important asset in every developer and architect toolbox.

And this practical, hands-on course will make you an expert in GraphQL.

We are going to cover all aspects of GraphQL, from the very basics to the most advanced topics.

Read more

Web API is usually the most important part in a web app.

This is how you expose your web app to the world, and to other users, and it must be fast, easy to use, and up-to-date.

GraphQL is one of the most advanced and exciting web APIs in the industry today, and it adds a lot of value to any web app. Its great flexibility and many implementations make it an important asset in every developer and architect toolbox.

And this practical, hands-on course will make you an expert in GraphQL.

We are going to cover all aspects of GraphQL, from the very basics to the most advanced topics.

Here are some of the topics we're going to discuss:

- How GraphQL stacks against REST API

- Basic concepts of GraphQL

- GraphQL Schema

- Querying

- Mutations

- Subscriptions

- Developing GraphQL Server and Client

- Error handling in GraphQL

And lots more.

Now, in order to make this course as valuable as possible, I made it extremely practical and hands-on.

We're going to start working with GraphQL in the very first section, and then working through all the other topics, and we're going to use multiple platforms for that - nodeJS and .NET.

Note: You don't have to be a .NET or nodeJS developer to take this course. I'm going to guide you through all the steps in the development process, and make sure everything will work as expected.

By the end of this course, you'll be an expert in GraphQL, not just in theory, but in practicality.

There is no other course like this. This is the only course that will take you all the way to  be an expert in GraphQL, from the very beginning to topics known to few, and will do that in an extremely practical and hands-on fashion.

What do my students have to say about my courses?

"well done - The course was very practical" - Sam

"Good explanation on the topics covered, "Soft Skills" section is a great addition of topics" - Sergio

"[The course] given me the confidence to go out to the market and advertise myself as such [an Architect]" - Mathew

"Life Changing" - Arivazhagan

And lots more...

Who is this course for?

Any person who is involved in web development, even system analyst, can profit from this course.

That includes:

- Junior developers

- Senior developers

- Architects

- Anyone else involved in web development

If you're not sure if this course is for you - drop me a note.

What are the prerequisites for this course?

Students are expected to be able to understand code , and to know how the internet is working (HTTP protocol, Request / Response model, and so on).

About Me

I've been in the software industry for more than 25 years, and a Software Architect for more than 20 years, working with a variety of clients - Fortune 100 enterprises, start-ups, govt. entities, defense, telco, banking, and lots more.

I'm an avid speaker and trainer, having trained thousands of students in various courses.

I love what I do, and my greatest passion (well, besides my family...) is designing modern, practical, and reliable systems for my clients, using the best possible API.

Enroll now

What's inside

Learning objectives

  • Basics of graphql
  • The 3 types of operations in graphql
  • Error handling in graphql
  • Developing graphql server
  • Developing graphql clients

Syllabus

Welcome
Course Introduction
Join the Software Architects Community
Get the course slides
Read more
Who Is This Course For?
Our First GraphQL Query
Agenda
API Basics
Read this before going through this section
What is an API?
API Types
Importance of API
Why do you need a well-designed API?
Web APIs
SOAP
REST
GraphQL
gRPC
Introduction to GraphQL
Problems with REST
History of GraphQL
GraphQL Basics
Working with GraphQL
Preparing the Environment
Introduction
Install .NET SDK
Install NodeJS
Install VS Code
Download and Run the Demo App
GraphQL Schema
Role of Schema
Object Type and Fields
Adding Object Type
Nullable Fields
Enumeration Type
Lists
Interfaces
Unions
Queries
Query Basics
Operation Type and Name
Arguments
Variables
Aliases
Fragments
Directives
Inline Fragments
Meta Fields
Introspection
Mutations
Mutation Syntax
Input Types
Adding Mutation to the Schema
Using Mutation
Subscriptions
Subscriptions Syntax
Adding Subscription to the Schema
Using Subscriptions
Developing GraphQL Server
GraphQL Server Roles
Configuring GraphQL Server in .NET
Developing the Schema in .NET
Developing GraphQL Server in NodeJS
Defining Field Resolvers in NodeJS
Developing GraphQL Client
Developing GraphQL Client
Advanced Topics
Error Handling
Authorization
Conclusion
Bonus: Next Steps

Save this course

Save Building Web APIs with GraphQL - The Complete Guide to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Building Web APIs with GraphQL - The Complete Guide with these activities:
Review REST API Concepts
Refresh your understanding of REST APIs to better appreciate the advantages and differences of GraphQL.
Browse courses on REST APIs
Show steps
  • Read articles comparing REST and GraphQL.
  • Review the key principles of RESTful architecture.
  • Identify the limitations of REST that GraphQL addresses.
Read 'GraphQL in Action'
Deepen your understanding of GraphQL concepts and best practices by reading a comprehensive guide.
View GraphQL in Action on Amazon
Show steps
  • Read the book cover to cover.
  • Experiment with the code examples provided.
  • Take notes on key concepts and techniques.
Practice Writing GraphQL Queries
Improve your proficiency in writing GraphQL queries by completing practice exercises.
Show steps
  • Find online resources with GraphQL query exercises.
  • Work through the exercises, focusing on different query features.
  • Review your solutions and identify areas for improvement.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Build a Simple GraphQL API
Solidify your knowledge by building a practical GraphQL API for a simple application.
Show steps
  • Define a schema for your API.
  • Implement resolvers for your schema.
  • Test your API with GraphQL queries and mutations.
  • Deploy your API to a cloud platform.
Write a Blog Post on GraphQL vs. REST
Reinforce your understanding of the differences between GraphQL and REST by explaining them in a blog post.
Show steps
  • Research the key differences between GraphQL and REST.
  • Outline the structure of your blog post.
  • Write the blog post, explaining the pros and cons of each approach.
  • Publish your blog post on a platform like Medium or Dev.to.
Explore 'Production Ready GraphQL'
Learn about the considerations for deploying and maintaining GraphQL APIs in production.
Show steps
  • Read the book, focusing on chapters related to your project.
  • Implement the recommendations in your own GraphQL API.
  • Monitor your API's performance and security.
Contribute to a GraphQL Library
Deepen your understanding of GraphQL by contributing to an open-source library or tool.
Show steps
  • Find a GraphQL library or tool that interests you.
  • Review the project's documentation and contribution guidelines.
  • Identify a bug or feature that you can contribute.
  • Submit a pull request with your changes.

Career center

Learners who complete Building Web APIs with GraphQL - The Complete Guide will develop knowledge and skills that may be useful to these careers:
API Architect
An API Architect is responsible for designing and implementing an organization's API strategy. This course focuses on GraphQL, a leading web API technology. The course provides a comprehensive understanding of GraphQL, from basic concepts to advanced topics like schema design, querying, mutations, and subscriptions. This knowledge would allow you to make informed architectural decisions regarding API implementation. You will be able to determine when GraphQL is a good choice for a project compared to Representational State Transfer and other API types. The course's practical approach ensures that you can translate theoretical knowledge into real-world API implementations. Further, the course will help you understand the role of the Schema, and how to add object type and nullable fields.
API Developer
An API Developer specializes in designing, building, and maintaining Application Programming Interfaces. This course directly aligns with this role by providing comprehensive training in GraphQL, a leading API technology. You will delve into all aspects of GraphQL, from basic concepts to advanced topics like mutations and subscriptions. You will be an expert on developing both server and client sides and handling all aspects of error handling which are critical to writing robust APIs. The hands-on approach, using both NodeJS and .NET, ensures that you gain practical experience in building real-world APIs. The course focuses on Web APIs and can help you understand how GraphQL stacks against Representational State Transfer API.
Software Architect
Software Architects design the structure of software systems, making critical decisions about technology choices and integration. This course directly aligns with the role, providing deep expertise in GraphQL, a modern and powerful web API technology. You'll understand how GraphQL stacks against Representational State Transfer and other architectural patterns, enabling you to choose the right approach for different scenarios. You'll know how to develop GraphQL servers and clients, and how to handle error handling which is especially important for any software architect. The course's practical approach, using NodeJS and .NET, ensures you're ready to implement GraphQL in real-world architectures. According to the course, the instructor has been a software architect for over 20 years. Typically, solutions architects may need to hold an advanced degree.
Web Application Developer
A Web Application Developer designs, builds, and maintains web applications. This course on GraphQL equips you with expertise in modern web API development, a crucial aspect of web applications. You will learn how to build efficient and flexible APIs using GraphQL, a skill highly valued in today's web development landscape. Understanding how GraphQL stacks against Representational State Transfer API, along with developing both server and client sides, helps build a strong foundation for any web application developer. The hands-on approach of this course ensures that you gain practical experience, making seamless integration into your projects. Learning about GraphQL may also improve your skills and knowledge about SOAP and REST APIs. In particular, the course may help you learn how to implement GraphQL on a .NET environment.
Full-Stack Developer
Full Stack Developers work on both the front-end and back-end of web applications. Excelling in this field involves understanding how to build and consume APIs, making this GraphQL course highly relevant. As a Full Stack Developer, you'll learn to develop GraphQL servers and clients that will then integrate them into your projects. The course covers all aspects of GraphQL, from basic queries to advanced topics like subscriptions and error handling. The course's practical approach, covering both NodeJS and .NET, ensures that you are prepared to implement GraphQL in diverse environments. Knowing how GraphQL stacks against Representational State Transfer is essential for complete control over your stack. Furthermore, the course will help you learn how to define field resolvers in NodeJS.
Backend Engineer
Backend Engineers build and maintain the server-side logic and databases powering web applications. This course helps you be proficient in GraphQL, a modern and efficient way to design web APIs, a core component of backend systems. A Backend Engineer will learn how to develop GraphQL servers and clients, handle errors, and implement authorization. The course's hands-on approach, using both NodeJS and .NET, provides practical experience in building robust backend systems. Knowing how GraphQL stacks against Representational State Transfer API helps you choose the right technology for specific backend needs. In addition, you will find the section on mutations particularly insightful.
Solutions Architect
A Solutions Architect designs and oversees the implementation of complex IT solutions. This course provides a deep understanding of GraphQL, enabling you to design efficient and modern API solutions. You will learn how GraphQL compares to Representational State Transfer API and other API types, allowing you to choose the best technology for each project. The course covers all aspects of GraphQL, from schema design to developing servers and clients. The practical, hands-on approach ensures that you are ready to implement GraphQL in real-world scenarios. A Solutions Architect often needs strong knowledge of error handling, a topic covered in the course. Typically, solutions architects may need to hold an advanced degree.
Software Engineer
Software Engineers design, develop, and test software applications. This course may enhance your skills by providing expertise in GraphQL, a modern and efficient way to build web APIs. As a Software Engineer, understanding how to design and implement APIs is essential, and this course covers all aspects of GraphQL, from basic queries to advanced topics like subscriptions and error handling. The hands-on approach, using both NodeJS and .NET, will also prepare you to implement GraphQL in diverse environments. Furthermore, the course touches on the importance of APIs and why you need a well-designed one. This course may be useful for those who want to learn how to develop a server and client in GraphQL.
Technical Lead
A Technical Lead is responsible for guiding a team of developers and making key technical decisions. This course may benefit you by providing in-depth knowledge of GraphQL, a leading web API technology. As a Technical Lead, understanding the strengths and weaknesses of different API technologies is crucial, and this course covers all aspects of GraphQL, from basic concepts to advanced topics. You will grasp how GraphQL compares to Representational State Transfer and other API types. The hands-on approach ensures that you are ready to guide your team in implementing GraphQL in real-world projects. The section about API basics may be insightful.
Mobile Application Developer
Mobile Application Developers create applications for smartphones and tablets. These applications often rely on APIs to fetch and display data. This course may be helpful as it provides expertise in GraphQL, a modern API technology increasingly used in mobile development. Mobile Application Developers will learn how to consume GraphQL APIs to build efficient and responsive mobile applications. The course provides an overview of GraphQL, from basic operations to schema design. A mobile application developer may find GraphQL simpler to implement than SOAP or Representational State Transfer.
Enterprise Architect
An Enterprise Architect aligns IT strategy with business goals, requiring extensive knowledge of various technologies and their applications. This course may be useful by providing expertise in GraphQL, a modern API technology increasingly relevant in enterprise environments. You will delve into how GraphQL can be used to expose data and services across the enterprise, enabling greater agility and integration. Because you'll understand how GraphQL stacks against Representational State Transfer and other API types, you will have a firm understanding of different web API patterns. The course provides all aspects of GraphQL, from basic concepts to advanced topics. Typically, solutions architects may need to hold an advanced degree.
Cloud Engineer
Cloud Engineers manage and maintain cloud-based infrastructure and services. This course may be useful by providing expertise in GraphQL, a modern API technology that is often used in cloud environments. You will delve into developing GraphQL servers and clients that can run in the cloud. Cloud Engineers often deal with various API technologies, so understanding how GraphQL compares to Representational State Transfer and other API types is beneficial. The course provides knowledge of all aspects of GraphQL, from basic queries to advanced topics like subscriptions. In particular, cloud engineers may find the sections on .NET insightul.
Data Engineer
Data Engineers build and maintain the infrastructure for data storage and processing. While traditionally focused on databases and pipelines, modern Data Engineers often need to expose data through APIs. This course may be valuable by providing expertise in GraphQL, a flexible and efficient way to build web APIs for data access. You learn how to design GraphQL schemas and develop servers to expose data to various applications. Understanding the basics of APIs is essential for modern roles in data engineering. The course may allow you to query and mutate data and handle errors, all critical to the data engineering lifecycle.
Data Scientist
While primarily focused on data analysis and modeling, Data Scientists often need to access data through APIs. This course may be helpful by providing expertise in GraphQL, a flexible way to query and retrieve data from various sources. You will learn how to use GraphQL clients to fetch the specific data needed for your analysis, without over-fetching or under-fetching. The course will provide the basics of GraphQL. By understanding the basics of web APIs, the data scientist can improve their toolset.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. As a Database Administrator, you may find this course useful, because you're tasked with ensuring data is accessible and secure. GraphQL can provide a layer of abstraction between the database and the applications that consume it. This course will show you how to build GraphQL servers on different platforms. You will also learn about mutations and subscriptions. The course also has sections on adding object type and nullable fields.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Building Web APIs with GraphQL - The Complete Guide.
Provides a comprehensive guide to GraphQL, covering everything from basic concepts to advanced topics like schema design and performance optimization. It's a valuable resource for understanding the practical aspects of building GraphQL APIs. The book complements the course by offering deeper insights and real-world examples. It is useful as a reference tool for developers.
Focuses on the practical aspects of deploying and maintaining GraphQL APIs in production environments. It covers topics such as security, performance, and monitoring. This book is more valuable as additional reading than it is as a current reference. It is helpful in providing background and prerequisite knowledge.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser