Curated list of FaunaDB 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 FaunaDB user token on login
- Managing roles memberships in FaunaDB
- FaunaDB User Token Expiration (for ABAC) - Auth0 + FaunaDB ABAC integration: How to expire Fauna user secrets
- fauna-graphql-relations - FaunaDB 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 FaunaDB Docker image
- Recursion UDF example
- Expose response headers from JS driver to get query metrics
- Recursive function to get nested documents
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-FaunaDB list.
- 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 FaunaDB.
- 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 FaunaDB with Zeit Now
- with-faunadb-abac-auth - Next.js + FaunaDB Cookie Based Login + ABAC + Apollo GraphQL
- nextjs-auth0-fauna - Serverless authentication example with Next.js, Auth0, FaunaDB, and ZEIT Now with Python Serverless Functions
- 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.]
- Synchronized Claps with React on Netlify + FaunaDB + 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)
- Talent Hub - Open source HR platform on React, Apollo and GraphQL https://talenth.co (related blog)
- fauna-market - A market for Emoji goods, to demonstrate global consistency in FaunaDB
- flash-fauna - Flash cards app using FaunaDB and some hooks
- serverless-graphql-potter - A playground project for practicing serverless graphql end points. Built with Gatsby, Netlify functions, Apollo, and FaunaDB. Data provided via the Potter API.
- 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 FaunaDB
- vue-apollo-fauna-tutorial - A tutorial on using Vue, FaunaDB, and Apollo to create a simple notes app in TypeScript
- vuejs-faunadb-boilerplate - A skeleton application to get started with VueJS, FaunaDB, TailwindCSS and Vuesax and Vee Validate.
- gridsome-fauna-auth-boilerplate - A nicely designed skeleton app with authentication to get started with VueJS, FaunaDB and Gridsome
- Gridsome-FaunaDB-Todo - A Todo application built with VueJS, Gridsome and FaunaDB
- 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 & faunadb as the data store.
- Biota - A simple opiniated database framework for Fauna
- faunadb-fql-lib - JS library with utility functions that extends FQL with just FQL
In addition to Fauna's official, open source drivers in JavaScript, Python, Go, JVM (Java, Scala, Android), C#, Ruby, and Swift, the following drivers are currently maintained by the community:
In addition to Fauna Data Manager, Fauna's official CLI tool for data import/export tasks, the following are also available.
- FaunaDB Migrate - For migrating schema [not data] between Fauna databases
- Fill Fauna - Fill your faunaDB 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
- 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
- Exploring Netlify and FaunaDB using Go Functions (Chris Biscardi) - We insert our first documents into a FaunaDB 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 (FaunaDB).
- Unpacking Fauna: A Global Scale Cloud Native Database - Data Engineering Podcast Episode 78 (Tobias Macey, 6/4/2019)
- 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
- 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)