Skip to content

chronark/awesome-fauna

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 

Repository files navigation

awesome-fauna

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.

📑 Contents

Tools

Wrappers and libraries

JavaScript

  • 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

Python

  • Pfunk - A Python library to make writing applications with FaunaDB easier. Includes GraphQL and generic ABAC auth workflow integrations.

Typescript

  • FaunaDB - TypeScript-first FaunaDB client with static type inference.

Database frameworks

  • Biota - A simple opiniated database framework for Fauna

Community drivers

In addition to Fauna's official, open source drivers in JavaScript, Python, Go, JVM (Java, Scala, Android), and C#, the following drivers are currently maintained by the community:

GraphQL tools

  • 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.
    • Examples using FGU:

Data migration

Other tools

Gists

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.

Open source example apps

All of the apps included here should be open source, with repositories you can fork/clone and run locally.

React

Starter projects

  • 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 + GraphQL), 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

Authentication examples

Incorporating Very Good Security [VGS]

Streaming examples

Incorporating web sockets

Code sandboxes

Other example apps using React

Vue

Svelte

  • covid-19-vs-markets - Educational web application which tracks the effects of COVID-19 on indexes such as stocks and currencies
  • cv-svelte-netlify-faunadb - A responsive CV/Resume SPA built with Svelte, bulma, and Netlify Functions
  • Vidu - Example minimal web analytics SPA build with Netlify (Identity, Functions), Svelte, Windi CSS(TailwindCSS) and Fauna

Other or no framework

Videos

Coding tutorial videos

JavaScript

Golang

Other

Database concept videos

  • 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).

Podcasts

Articles and posts

Coding tutorials

Data modeling and performance in FaunaDB

Database concepts

Backups

About

Curated list of FaunaDB resources

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published