FaunaDB<\/a> provides a powerful mechanism for defining complex access rules on top of the GraphQL API covering most common use cases without the need for third-party services.<\/p>\n","protected":false},"excerpt":{"rendered":"GraphQL is becoming popular and developers are constantly looking for frameworks that make it easy to set up a fast, secure and scalable GraphQL API. In this article, we will learn how to create a scalable and fast GraphQL API with authentication and fine-grained data-access control (authorization). As an example, we\u2019ll build an API with […]<\/p>\n","protected":false},"author":268915,"featured_media":304340,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":[]},"categories":[508],"tags":[],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/02\/instant-graphql.png?fit=1200%2C600&ssl=1","jetpack-related-posts":[{"id":319747,"url":"https:\/\/css-tricks.com\/a-complete-walkthrough-of-graphql-apis-with-react-and-faunadb\/","url_meta":{"origin":304202,"position":0},"title":"A Complete Walkthrough of GraphQL APIs with React and FaunaDB","date":"August 27, 2020","format":false,"excerpt":"As a web developer, there is an interesting bit of back and forth that always comes along with setting up a new application. Even using a full stack web framework like Ruby on Rails can be non-trivial to set up and deploy, especially if it\u2019s your first time doing so\u2026","rel":"","context":"In "Sponsored"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/08\/heroku-fauna-apollo.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":302033,"url":"https:\/\/css-tricks.com\/build-a-dynamic-jamstack-app-with-gatsbyjs-and-faunadb\/","url_meta":{"origin":304202,"position":1},"title":"Build a dynamic JAMstack app with GatsbyJS and FaunaDB","date":"January 23, 2020","format":false,"excerpt":"In this article, we explain the difference between single-page apps (SPAs) and static sites, and how we can bring the advantages of both worlds together in a dynamic JAMstack app using GatsbyJS and FaunaDB. We will build an application that pulls in some data from FaunaDB during build time, prerenders\u2026","rel":"","context":"In "Sponsored"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/01\/JAM-gatsby-fauna.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":284086,"url":"https:\/\/css-tricks.com\/getting-into-graphql-with-aws-appsync\/","url_meta":{"origin":304202,"position":2},"title":"Getting into GraphQL with AWS AppSync","date":"March 12, 2019","format":false,"excerpt":"GraphQL is becoming increasingly popular. The problem is that if you are a front-end developer, you are only half of the way there. GraphQL is not just a client technology. The server also has to be implemented according to the specification. This means that in order to implement GraphQL into\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/03\/graphql-aws.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":332716,"url":"https:\/\/css-tricks.com\/building-an-ethereum-app-using-redwood-js-and-fauna\/","url_meta":{"origin":304202,"position":3},"title":"Building an Ethereum app using Redwood.js and Fauna","date":"January 14, 2021","format":false,"excerpt":"With the recent climb of Bitcoin\u2019s price over 20k $USD, and to it recently breaking 30k, I thought it\u2019s worth taking a deep dive back into creating Ethereum applications. Ethereum, as you should know by now, is a public (meaning, open-to-everyone-without-restrictions) blockchain that functions as a distributed consensus and data\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/01\/ETH-redwood-fauna.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":297508,"url":"https:\/\/css-tricks.com\/build-a-100-serverless-rest-api-with-firebase-functions-faunadb\/","url_meta":{"origin":304202,"position":4},"title":"Build a 100% Serverless REST API with Firebase Functions & FaunaDB","date":"October 31, 2019","format":false,"excerpt":"Indie and enterprise web developers alike are pushing toward a serverless architecture for modern applications. Serverless architectures typically scale well, avoid the need for server provisioning and most importantly are easy and cheap to set up! And that\u2019s why I believe the next evolution for cloud is serverless because it\u2026","rel":"","context":"In "Sponsored"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/10\/hero-b.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":246280,"url":"https:\/\/css-tricks.com\/declarative-data-fetching-graphql\/","url_meta":{"origin":304202,"position":5},"title":"Declarative Data Fetching with GraphQL","date":"October 13, 2016","format":false,"excerpt":"The following is a guest post by Nilan Marktanner from Graph.cool. I don't know about y'all but I've spent plenty of time in my career dealing with REST API's. It's a matter of always trying to figure out what URL to hit, what data to expect back, and how you\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/304202"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/268915"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=304202"}],"version-history":[{"count":10,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/304202\/revisions"}],"predecessor-version":[{"id":304394,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/304202\/revisions\/304394"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media\/304340"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=304202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=304202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=304202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}