{"componentChunkName":"component---src-templates-modal-page-js","path":"/hasura-tutorials","result":{"pageContext":{"node":{"slug":{"current":"hasura-tutorials"},"name":"Hasura Tutorials","githubUrl":"https://github.com/hasura/learn-graphql","description":"Real world GraphQL tutorials for developers with deadlines!","developer":null,"price":"Free","url":"https://hasura.io/learn/","tags":[{"id":"0a926ca0-b673-55da-9067-d1130fbd856d","name":"React","slug":{"current":"react"}},{"id":"57dbe127-2f3c-5cc3-981e-82d9b1e5c68d","name":"Vue","slug":{"current":"vue"}},{"id":"94f7c54d-def3-527b-8a4a-2378d74d59c4","name":"Angular","slug":{"current":"angular"}},{"id":"05d51195-c970-5723-ba4e-f9d6b10b986f","name":"TypeScript","slug":{"current":"typescript"}},{"id":"1207f78d-a595-5c0b-ad03-a8bda54c7fb5","name":"Elm","slug":{"current":"elm"}},{"id":"95da86d0-7c68-5de5-a7da-6d94e3ab65c2","name":"Flutter","slug":{"current":"flutter"}},{"id":"0931abae-f847-5fe7-89f4-361451a35243","name":"React Native","slug":{"current":"react-native"}},{"id":"232dc382-6aa2-5382-83cc-4606df5e0f71","name":"ios","slug":{"current":"ios"}},{"id":"8c6531de-47cb-5c23-9e62-8acefe15e4f6","name":"Android","slug":{"current":"android"}}],"logo":{"asset":{"url":"https://cdn.sanity.io/images/g5bd2nk6/production/5c281876bab3e556582c8376a2f896f7828a2e55-35x40.svg"}},"categories":[{"name":"Tutorials","slug":{"current":"tutorials"}}],"_rawContent":[{"_key":"3111c29c3707","_type":"block","children":[{"_key":"3111c29c37070","_type":"span","marks":[],"text":"You will move from GraphQL basics to production-ready concepts with our hands-on tutorials for frontend and backend developers."}],"markDefs":[],"style":"normal"},{"_key":"43df2ae97025","_type":"block","children":[{"_key":"43df2ae970250","_type":"span","marks":[],"text":"Frontend GraphQL Tutorial"}],"markDefs":[],"style":"h2"},{"_key":"5ed20396372c","_type":"block","children":[{"_key":"5ed20396372c0","_type":"span","marks":[],"text":"These open-source community maintained tutorials will help you learn GraphQL by doing! These are backend agnostic tutorials where you will integrate GraphQL APIs into your favourite frontend framework and get productive with GraphQL in ~2 hours!"}],"markDefs":[],"style":"normal"},{"_key":"607eb131247d","_type":"block","children":[{"_key":"607eb131247d0","_type":"span","marks":[],"text":"What you will learn"}],"markDefs":[],"style":"h3"},{"_key":"2d6d1700b86a","_type":"block","children":[{"_key":"2d6d1700b86a0","_type":"span","marks":[],"text":"GraphQL vs. REST"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"b04be847ea2e","_type":"block","children":[{"_key":"b04be847ea2e0","_type":"span","marks":[],"text":"Integrating GraphQL Mutations with Query Variables."}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"5b41a0cc2633","_type":"block","children":[{"_key":"5b41a0cc26330","_type":"span","marks":[],"text":"Using Subscriptions."}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"8013149b09d7","_type":"block","children":[{"_key":"8013149b09d70","_type":"span","marks":[],"text":"Setting up a GraphQL client with Apollo."}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"c342a89409b1","_type":"block","children":[{"_key":"c342a89409b10","_type":"span","marks":[],"text":"Managing Local Cache after a GraphQL Mutation."}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"d3ce1cf2400f","_type":"block","children":[{"_key":"d3ce1cf2400f0","_type":"span","marks":[],"text":"Realtime feed with notifications."}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"29f742f14230","_type":"block","children":[{"_key":"29f742f142300","_type":"span","marks":[],"text":"GraphQL Queries, Mutations, Subscriptions."}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"f7ddd51b601f","_type":"block","children":[{"_key":"f7ddd51b601f0","_type":"span","marks":[],"text":"Integrating Mutations to update, delete and bulk delete."}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"bd1d8e7943ac","_type":"block","children":[{"_key":"bd1d8e7943ac0","_type":"span","marks":[],"text":"Integrating GraphQL queries in the app."}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"d76fc6710a48","_type":"block","children":[{"_key":"d76fc6710a480","_type":"span","marks":[],"text":"Optimistic UI updates for responsive user experience."}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"8681b3522eb8","_type":"block","children":[{"_key":"8681b3522eb80","_type":"span","marks":[],"text":"Hasura Backend Tutorial"}],"markDefs":[],"style":"h2"},{"_key":"1287abbbb089","_type":"block","children":[{"_key":"1287abbbb0890","_type":"span","marks":[],"text":"These are tutorials put together by our team to help new users get familiar with Hasura by building a fully functional realtime backend with Hasura.INTRO TO HASURAHasura Basics"}],"markDefs":[],"style":"normal"},{"_key":"bfd52bb257be","_type":"block","children":[{"_key":"bfd52bb257be0","_type":"span","marks":[],"text":"Hasura Basics"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"bd33a186f547","_type":"block","children":[{"_key":"bd33a186f5470","_type":"span","marks":[],"text":"Postgres Data modelling"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"76f148d23f80","_type":"block","children":[{"_key":"76f148d23f800","_type":"span","marks":[],"text":"Authorization"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"c26841911e6a","_type":"block","children":[{"_key":"c26841911e6a0","_type":"span","marks":[],"text":"Authentication"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"390518c051ef","_type":"block","children":[{"_key":"390518c051ef0","_type":"span","marks":[],"text":"Custom business logic"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"623c51a27910","_type":"block","children":[{"_key":"623c51a279100","_type":"span","marks":[],"text":"Remote Schemas, Event triggers"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"d3953a6ade66","_type":"block","children":[{"_key":"d3953a6ade660","_type":"span","marks":[],"text":""},{"_key":"d3953a6ade661","_type":"span","marks":["146292f3b796"],"text":"START HASURA BASICS"},{"_key":"d3953a6ade662","_type":"span","marks":[],"text":" "},{"_key":"d3953a6ade663","_type":"span","marks":["146292f3b796"],"text":"→"},{"_key":"d3953a6ade664","_type":"span","marks":[],"text":""}],"markDefs":[{"_key":"146292f3b796","_type":"link","href":"https://hasura.io/learn/graphql/hasura/introduction/"}],"style":"normal"},{"_key":"fbdb85c3aac6","_type":"block","children":[{"_key":"fbdb85c3aac60","_type":"span","marks":[],"text":"AUTHENTICATION WITH HASURA"}],"markDefs":[],"style":"h2"},{"_key":"b1fe323e0bd1","_type":"block","children":[{"_key":"b1fe323e0bd10","_type":"span","marks":[],"text":"Hasura "},{"_key":"b1fe323e0bd11","_type":"span","marks":["strong"],"text":"Auth with Slack model"}],"markDefs":[],"style":"normal"},{"_key":"fe88150c6bef","_type":"block","children":[{"_key":"fe88150c6bef0","_type":"span","marks":[],"text":"Roles"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"a8b8097b43a8","_type":"block","children":[{"_key":"a8b8097b43a80","_type":"span","marks":[],"text":"Access Control"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"9739a08c301d","_type":"block","children":[{"_key":"9739a08c301d0","_type":"span","marks":[],"text":"Authorization Modes"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"8b548e261233","_type":"block","children":[{"_key":"8b548e2612330","_type":"span","marks":[],"text":"Authentication"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"88244a5b15eb","_type":"block","children":[{"_key":"88244a5b15eb0","_type":"span","marks":[],"text":"Auth with external services"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"2cf3b4209f99","_type":"block","children":[{"_key":"2cf3b4209f990","_type":"span","marks":[],"text":"Allow Lists"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"0d73cc08fead","_type":"block","children":[{"_key":"0d73cc08fead0","_type":"span","marks":[],"text":""},{"_key":"0d73cc08fead1","_type":"span","marks":["a7df8e2ace51"],"text":"START AUTHENTICATION WITH HASURA"},{"_key":"0d73cc08fead2","_type":"span","marks":[],"text":" "},{"_key":"0d73cc08fead3","_type":"span","marks":["a7df8e2ace51"],"text":"→"},{"_key":"0d73cc08fead4","_type":"span","marks":[],"text":""}],"markDefs":[{"_key":"a7df8e2ace51","_type":"link","href":"https://hasura.io/learn/graphql/hasura-auth-slack/introduction/"}],"style":"normal"},{"_key":"bb40b371aa7e","_type":"block","children":[{"_key":"bb40b371aa7e0","_type":"span","marks":[],"text":"Introduction to GraphQL"}],"markDefs":[],"style":"h2"},{"_key":"1cf176fda3b5","_type":"block","children":[{"_key":"1cf176fda3b50","_type":"span","marks":[],"text":"We will explore the fundamentals of GraphQL and how its realtime capabilities and community tooling makes it suitable for modern applications.GRAPHQL BASICS"}],"markDefs":[],"style":"normal"},{"_key":"6cbe80e2369b","_type":"block","children":[{"_key":"6cbe80e2369b0","_type":"span","marks":[],"text":"Introduction to GraphQL"}],"markDefs":[],"style":"h3"},{"_key":"dc27b5fc79b8","_type":"block","children":[{"_key":"dc27b5fc79b80","_type":"span","marks":[],"text":"Introduction to GraphQL"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"a24264ba0c6c","_type":"block","children":[{"_key":"a24264ba0c6c0","_type":"span","marks":[],"text":"Core Concepts"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"444dbafa0bac","_type":"block","children":[{"_key":"444dbafa0bac0","_type":"span","marks":[],"text":"GraphQL vs REST, a comparison"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"aa2bd9865c57","_type":"block","children":[{"_key":"aa2bd9865c570","_type":"span","marks":[],"text":"Queries"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"a44f9ce347c8","_type":"block","children":[{"_key":"a44f9ce347c80","_type":"span","marks":[],"text":"Mutations"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"26f056a9b579","_type":"block","children":[{"_key":"26f056a9b5790","_type":"span","marks":[],"text":"Subscriptions"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"223799af57f7","_type":"block","children":[{"_key":"223799af57f70","_type":"span","marks":[],"text":"GraphQL Server & Architecture"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"85884ddf7116","_type":"block","children":[{"_key":"85884ddf71160","_type":"span","marks":[],"text":"GraphQL Clients"}],"level":1,"listItem":"bullet","markDefs":[],"style":"normal"},{"_key":"096c4f861d75","_type":"block","children":[{"_key":"096c4f861d750","_type":"span","marks":[],"text":""},{"_key":"096c4f861d751","_type":"span","marks":["957c9b4d4cdc"],"text":"START GRAPHQL BASICS"},{"_key":"096c4f861d752","_type":"span","marks":[],"text":" "},{"_key":"096c4f861d753","_type":"span","marks":["957c9b4d4cdc"],"text":"→"},{"_key":"096c4f861d754","_type":"span","marks":[],"text":""}],"markDefs":[{"_key":"957c9b4d4cdc","_type":"link","href":"https://hasura.io/learn/graphql/intro-graphql/introduction/"}],"style":"normal"}]},"targetPath":"","modalType":"tool"}},"staticQueryHashes":[]}