Fullstack GraphQL Tutorials for the busy developer

The most extensive list of open source community maintained tutorials to get you up to speed with GraphQL, Hasura and Databases. Basics to production ready concepts.

The fastest way to get started with GraphQL

  • Arrow25+ courses
  • ArrowMultilingual
  • Arrow150+ contributors
  • Arrow30 min - 2 hours
Promo

GraphQL Basics

New to GraphQL? Learn the fundamentals of GraphQL and what makes it especially suitable for modern applications, like its realtime capabilities!

Frontend GraphQL Tutorials

You'll find that in every chapter, and all of our GraphQL tutorials and articles on our website, we'll cover the following concepts time and again:
What you’ll learn:
  • GraphQL vs. REST
  • Realtime feed with notifications.
  • Integrating GraphQL Mutations with Query Variables.
  • GraphQL Queries, Mutations, Subscriptions.
  • Using Subscriptions with Apollo Client.
  • Integrating Mutations to update, delete and bulk delete.
  • Setting up a GraphQL client with Apollo.
  • Integrating GraphQL queries in the app.
  • Managing Local Cache after a Mutation.
  • Optimistic UI updates for responsive user experience.

Backend GraphQL Tutorials

Create GraphQL and REST backends with a language's latest features and libraries. Easily integrate with Hasura features such as event triggers, actions, and remote schemas.
What you’ll learn:
  • Creating GraphQL servers and clients
  • Making REST endpoints
  • Fully use the language's type system
  • Download and utilize dependencies
  • Code generation with supported languages
  • Integrate with Hasura
  • GraphQL with .NETGraphQL with .NET
    In our .NET course we use the .NET standard library to create REST endpoints, create a GraphQL server with Hot Chocolate, and query GraphQL Strawberry Shake.
  • GraphQL with GoGraphQL with Go
    The Go course covers code-generating a GraphQL server and client. We also go over how to create REST endpoints with the standard library.
  • GraphQL with JavaGraphQL with Java
    Using Java, Spring Boot, and Netflix's DGS we create REST endpoints, a GraphQL server, and a GraphQL client. Dependencies are managed with Gradle.
  • GraphQL with NodeGraphQL with Node
    Using Node, Express, and TypeScript we create REST endpoints and generate a GraphQL server/client with GraphQL Code Generator.
  • GraphQL with PythonGraphQL with Python
    In the Python course we cover creating REST endpoints using FastAPI, making a GraphQL server with Strawberry, and querying GraphQL with Qlient.

Full-stack GraphQL Tutorials

The following fullstack GraphQL tutorials will teach you how to build realtime todo apps using authenticated GraphQL APIs
  • GraphQL with NextJSGraphQL with NextJS
    In this fullstack tutorial, we will look at building a Hasura GraphQL Backend to generate APIs, followed by integration with Next.js app. We'll be using Auth0 for the Authentication and Vercel for deployment.
  • RxDB Offline First TutorialRxDB Offline First Tutorial
    In this course, we will look at how to make a web app offline first using a client-side database that is synced securely with Postgres. We'll be using two open-source tools, RxDB and Hasura to help set up the sync. We will be using Auth0 for Authentication though other tools like Firebase, AWS Cognito or AuthGuardian should also work perfectly well.

Database Tutorials

The following database tutorials will teach you core concepts around data modelling with examples of SQL statements
  • PostgreSQL TutorialPostgreSQL Tutorial
    This tutorial will help you understand the different PostgreSQL features, when and how to use them, and is an ideal starting point before diving into advanced topics.
  • MySQL TutorialMySQL Tutorial
    This course is a super-fast introduction to learning about key concepts of MySQL and setting it up for app development.
  • Microsoft SQL ServerMicrosoft SQL Server
    This course is designed to help you understand the key features of MSSQL server, when and how to use them, and will lay a foundation for you to learn advanced concepts.

Introduction to GraphQL

GraphQL is open source and is maintained by the Linux Foundation. GraphQL API has a schema and type system. Learn more about the fundamentals of GraphQL through the resources listed below.

Hasura Learn is fully open source and maintained by our amazing community

150+ contributors

700+ Stars

Promo

Frequently Asked Questions

Are these tutorials free?
Absolutely! All of our GraphQL Tutorials are free and open source.
Who can take these tutorials?
All frontend / backend / fullstack developers can take these tutorial series to build real-world applications.
Will there be example code snippets or links to documentation?
All the tutorials will have the full source code available in the open-source hasura/learn-graphql repo.
Is GraphQL easy to learn?
Yes! GraphQL is easy to learn and consume on the client. However, building a custom GraphQL Server following best practices can be difficult for developers coming from REST API background.
What front end clients are being used in the tutorials?
Most of the frontend frameworks use Apollo Client for the integration. We are planning to add more tutorials around other clients like Urql.
What technologies are used in the tutorials?
Technology choices are mostly wide open. The javascript libraries used can be replaced with an equivalent one. The server-side APIs are taken care of by Hasura GraphQL Cloud Service connected to a PostgreSQL database.
Is GraphQL frontend or backend?
GraphQL is just a query language spec and there are implementations on both client and server.
What language is GraphQL written in?
GraphQL is language agnostic. Reference implementations for the spec have been written in multiple languages, the most popular one being in javascript.

Start with GraphQL on Hasura for Free

  • ArrowBuild apps and APIs 10x faster
  • ArrowBuilt-in authorization and caching
  • Arrow8x more performant than hand-rolled APIs
Promo
footer illustration
Brand logo
© 2024 Hasura Inc. All rights reserved
Github
Titter
Discord
Facebook
Instagram
Youtube
Linkedin