Curated list of Fauna resources that live outside of the fauna.com or docs.fauna.com domains. Please feel free to make a PR to add more, or to propose a different organizational structure.
Example FQL queries, UDFs, role predicates, etc. Any examples in this section can be removed once they are added to the official docs.fauna.com documentation (which Fauna has plans to open source as well). This section will eventually need to be organized.
- VS Code snippets - Add code snippets to Fauna's VS Code extension (and please contribute to this gist!)
- useFauna() - React hook used to run Fauna queries
- Template for building deeply nested FQL queries
- Docker container testing trait for Scala
- Auth0 and GraphQL example
- Auth0 Rule to generate Fauna user token on login
- Managing roles memberships in Fauna
- Fauna User Token Expiration (for ABAC) - Auth0 + Fauna ABAC integration: How to expire Fauna user secrets
- fauna-graphql-relations - Fauna Relations: GraphQL schemas, mutations and resulting documents
- nGram example - Please note that there is currently no official Fauna documentation on this "secret" function because they want to make some improvements to it first. That said, use this function in production code at your own risk.
- Clean up Docker - Not Fauna-specific, but might be useful to anyone working with the Fauna Docker image
- Recursion UDF example
- Expose response headers from JS driver to get query metrics
- Recursive function to get nested documents
- Fauna Query Builder with test
- Fauna adapter for next-auth
All of the apps included here should be open source, with repositories you can fork/clone and run locally.
- Fwitter - Fauna's "official unofficial" flagship sample application on which you can build your own project. It comes with with built-in authentication, rate limiting (to deter bots), UDFs, tests, and lots of well-commented example queries. This is a work in progress that will eventually incorporate more features. Feel free to fork and modify it, then link to it from this Awesome-Fauna list.
- RWA using FaunaDB + Reaflow + Next.js + Magic Link - Real-world app example of a real-time Editor, using FaunaDB (realtime stream), Reaflow (graph editor), Next.js framework and a bit of Magic (auth)!
- netlify-faunadb-example - Before Fwitter was created, this was Fauna's most popular sample application. A lot of the other example apps, even those in other JS frameworks, are based on this. React frontend, Netlify Functions for API calls, and Fauna.
- fauna-nf - npm install a fork of Create React App, with a Fauna backend
- netlify-faunadb-graphql-auth - A version of the netlify-faunadb-example, using HTTP-only cookies for authentication with FaunaDB's native GraphQL API
- with-cookie-auth-fauna - Cookie authentication using Fauna with Zeit Now
- with-faunadb-abac-auth - Next.js + Fauna Cookie Based Login + ABAC + Apollo GraphQL
- nextjs-auth0-fauna - Serverless authentication example with Next.js, Auth0, Fauna, and ZEIT Now with Python Serverless Functions
- magic-link-fauna - A fullstack get started tutorial using Fauna + Magic + NextJS + Vercel built for the Next.JS conference.
- RWA using FaunaDB + Reaflow + Next.js + Magic Link - Real-world app example of a real-time Editor, using FaunaDB (realtime stream), Reaflow (graph editor), Next.js framework and a bit of Magic (auth)! More specifically With Magic Link example, and With FaunaDB Auth example.
- A version of netlify-faunadb-example incorporating VGS - For interacting with regulated, sensitive data without the liability of securing it [e.g., for compliance with HIPAA, GDPR, etc.]
- Fauna's official sample app for document streaming (React)
- RWA using FaunaDB + Reaflow + Next.js + Magic Link - Real-world app example of a real-time Editor, using FaunaDB (realtime stream), Reaflow (graph editor), Next.js framework and a bit of Magic (auth)! More specifically With FaunaDB Real Time example.
- Synchronized Claps with React on Netlify + Fauna + Pusher
- Outpost 18 - Real-time card game for two players
- Just notes - Note-taking app by one of Fauna's frontend engineer's, using Create React App, Redux Starter Kit, React Redux, and Typescript (related blog)
- fauna-market - A market for Emoji goods, to demonstrate global consistency in Fauna
- flash-fauna - Flash cards app using Fauna and some hooks
- serverless-graphql-potter - A playground project for practicing serverless graphql end points. Built with Gatsby, Netlify functions, Apollo, and Fauna. Data provided via the Potter API.
- Games built with Next.js and Fauna - A set of simple games built with Fauna and Next.js which can be seen in action on https://botwise.games/.
- Got Lobstah - A Vue version of netlify-faunadb-example, from the team at Netlify
- Vue-netlify-fauna-starter-kit - A serverless stack for building CRUD applications with authentication baked in
- notes-app-azure-serverless - A sample Vue.js app to manage Notes written in Markdown using Azure Functions and Fauna
- vue-apollo-fauna-tutorial - A tutorial on using Vue, Fauna, and Apollo to create a simple notes app in TypeScript
- vuejs-faunadb-boilerplate - A skeleton application to get started with VueJS, Fauna, TailwindCSS and Vuesax and Vee Validate.
- gridsome-fauna-auth-boilerplate - A nicely designed skeleton app with authentication to get started with VueJS, Fauna and Gridsome
- Gridsome-FaunaDB-Todo - A Todo application built with VueJS, Gridsome and Fauna
- vue-netlify-fauna-starter-kit - A serverless stack that uses Vue for the front-end, Netlify for APIs (via Netlify Functions) and Fauna for persistent data storage.
- covid-19-vs-markets - Educational web application which tracks the effects of COVID-19 on indexes such as stocks and currencies (live app)
- cv-svelte-netlify-faunadb - A responsive CV/Resume SPA built with Svelte, bulma, and Netlify Functions
- https://github.com/zeusdeux/jwt-example - Playing with user registration, login/logout, auth, etc using JWTs, serverless functions & fauna as the data store.
- BigCommerce channels starter app - A reference implementation by BigCommerce for Channel, Sites, and Routes APIs and BigDesign React Components based on Fauna.
- Biota - A simple opiniated database framework for Fauna
- faunadb-fql-lib - JS library with utility functions that extends FQL with just FQL
- faunadb-connector - Convenience wrapper class for the basic functionality of the Fauna Javascript API
- faunadb-geo - JS library for creating, managing, and querying geospatial resources in Fauna
In addition to Fauna's official, open source drivers in JavaScript, Python, Go, JVM (Java, Scala, Android), C#, the following drivers are currently maintained by the community:
- FaunaDB GraphQL Schema loader: A community package by Paul Paterson which makes uploading schemas simpler and allows to split a schema into multiple files. It supports splitting the schema by enabling the extend type which Fauna does not natively support yet.
- FaunaDB GQL upload: simple CLI to update your database's GraphQL schema, resolver functions, indexes, and database roles without going to the Fauna dashboard.
- FaunaDB Migrate - For migrating schema [not data] between Fauna databases
- Fill Fauna - Fill your Fauna collection with data from JSON file
- Gatsby plugin for FaunaDB
- Nanohash - A tiny unique string ID generator including a matching 64-bit numeric value
- Tool that translates Fauna's wire protocol to FQL
- gatsby-source-faunadb - A Gatsby source plugin to fetch documents from Fauna DB
- FaunaDB basics - The database of your dreams - Beginner-friendly database tutorial by Jeff Delaney of Fireship
- Building a Serverless JAMStack Todo app with Netlify, Gatsby, GraphQL, and FaunaDB (Chris Biscardi)
- Create a JAMstack Registration Form (Jason Lengstorf)
- Browser-based charades with Vue.js, Vonage Video API and FaunaDb (Michael Jolley)
- Learn with Jason: Deploy a Gatsby Site + API Using ZEIT Now (Leo Lamprecht, Jason Lengstorf) - demo, repo
- Building a data layer for awesum.io with FaunaDb (Michael Jolley, 9/19/2019)
- Build a serverless CRUD app using Vue.js Netlify and FaunaDB
- JAMstack Crash Course - Build a Full Stack Application
- Exploring Netlify and FaunaDB using Go Functions (Chris Biscardi) - We insert our first documents into a Fauna database using the Golang driver.
- Querying FaunaDB with FQL and GoLang (Chris Biscardi)
- Webinar: Comparing Distributed Transaction Architectures for the Cloud Era (Kyle Kingsbury) - Geographically distributed transactional workloads are an emerging problem in distributed databases. Consensus algorithms like Raft offer us totally ordered operations in the context of a single replication group, but there is (as of yet) no consensus on how to build fast, isolated transactions across multiple consensus groups. Kyle Kingsbury, author of the famous Jepsen testing series, presents several approaches for transactional databases, including those based on Percolator (TiDB), Spanner (CockroachDB), MongoDB, Yugabyte and Calvin (Fauna).
- Unpacking Fauna: A Global Scale Cloud Native Database - Data Engineering Podcast Episode 78 (Tobias Macey, 6/4/2019)
- Using Next.js with FaunaDB: How to Query the Database from Your App
- Instant GraphQL Backend with Fine-grained Security Using FaunaDB
- Build a dynamic JAMstack app with GatsbyJS and FaunaDB
- Build Your Own Serverless Writing Pad with Gatsby, Netlify, and FaunaDB
- How To Integrate FaunaDB In NodeJS
- Serverless GraphQL - Part 3
- JAMstack Dynamic and Async functionality
- Getting started with FQL
- Geospatial Queries on FaunaDB
- Setup Expo with FaunaDB via Vercel (And Apollo Client)
- Social login with FaunaDB and Auth0)
- Build a serverless recipes app with FaunaDB and Vue.js
- Public bookmark list and URL shortener with Fauna, Next.js and Auth0
- Consistent backends and UX - Part 1: Why should you care? - CSS Tricks, 03/26/2020
- Consistent backends and UX - Part 2: What can go wrong? - CSS Tricks, 03/26/2020
- Consistent backends and UX - Part 3: What are the barriers to adoption? - CSS Tricks, 03/26/2020
- Consistent backends and UX - Part 4: How do new algorithms help? - CSS Tricks, 03/27/2020
- What’s next for serverless architecture? - Automatic distribution of logic and data to the edge will bring minimal latency to end users, without provisioning, scaling, or configuration worries for developers (InfoWorld, 2/13/2020)
- Automating FaunaDB backups - Medium, 02/10/2020