Skip to content
tedd pasta edited this page Dec 6, 2021 · 117 revisions

✨Awesome Gun✨

Awesome

GUN is a realtime, decentralized, offline-first, graph protocol to sync the web.


Apps

Plugins / Helpers

  • gun-avatar
    • SEA public key visualizer - great for gun user avatars
  • GunStreamer
    • Streaming component for Gun db.
  • gun-inspector demo
    • Gun Node visualizer and editor
  • visualGraph
    • Gun Utility to Traverse Graph and use d3.js to visualize
  • gun-graphin
    • Gun Graph visualization and Navigation using Graphin library
  • Gun-scape
    • GunDB Cytoscape Graph Visualizer + Live Editor
  • CRDT Continuous Sequence
    • Makes CRDT sets orderable
  • gunjs trust share key
    • gun.js Trust and Share Key functions simple.
  • polyGun
    • GunDB Polyglot Server [ https/wss + letsencrypt ]
  • gun-host
  • gun-kibana-graph
    • Visualization Plugin to display Gun graphs in Kibana ~ By lmangani
  • gun-synclist Get an Array with full nodes on init, after that only the changed - full - node, its soul and its index. ~ By Stefdv
  • gun-tag Tag, untag, filter and find intersects on nodes ~ By Stefdv
  • gun-schema
    • Schema validation module for node and the browser ~ By RangerMauve
  • labelmaker
    • Organize and index data into groups with tags ~ By PsychoLlama
  • onward
    • Listen for changes on an entire document at once ~ By amark
  • reticle
    • Namespace your data, preventing naming conflicts and adding clear separation between apps ~ By PsychoLlama
  • synchronous
    • One way deep (document oriented) object data binding, similar to onward ~ By amark
  • gun-ws on Github
    • Extended websocket provider for Gun. Initially meant to provide a way to connect multiple servers to a single
    • Gun instance ~ By d3x0r
      • Uses 'ws' npm package for websockets. Should either migrate to sack.vfs
  • load
    • Load full document structures to Gun ~ By IMGNRY
  • gun-most
    • Extends gunDB with the ability to chain into most.js observables ~ By ctrlplusb
  • graphql-gun
    • Augmented graphql query interface for Gun
  • bullet
    • Alternative syntax to Gun, promise support, utility modules, and easy Gun adapter events.
  • gun-appendOnly
    • Support append only node keys on a first-come-first-served basis and allow modification to key content based on SEA users
  • gun-hue
    • Explore and change your hue lighting with gun! ~ By PsychoLlama
  • gun-ui-lcd
    • Component to attach an html lcd to Gun ~ By Stefdv
  • gun-util
    • Convenience and utility methods for Gun, including:
      1. DateTree: A time graph for efficient storage, iteration and lookup of time based data.
      2. Encryption: Easy bulk encryption.
      3. GunUser: Promises and safety checks for authentication.
  • griffin
    • A decentralized document-oriented database. Built with Gun and implements an API and query language similar to MongoDB.
  • Lone Wolf Protocol
    • A decentralized messaging protocol built with Gun.
  • gun-fetch
    • Use Gun with fetch and a uri scheme. ~ By resession

Framework Integrations

  • Gun Phaser Multiplayer Boilerplate
    • A boilerplate for starting a multiplayer web game project with Phaser + Gun by mimiza
  • Google Cloud Function
    • An example of using Google Cloud Function + Gun by mimiza
  • svelte gundb example
    • This is a project template for Svelte apps with the gun database.
  • sapper/svelte gundb example
    • This is a project template for Sapper/Svelte apps with the gun database. The server is served alongside the page and accessigne at location.origin + "/gun". Sapper is a framework designed with svelte to facilitate offline first functionality and all svelte goodness.
  • Weir
    • Auto-generate react component data bindings to gundb nodes
  • vue-gun
    • Vue plugin to add Gun integration ~ By sjones6
  • gun-react-native
    • A distribution of Gun designed to work with React Native out of the box ~ By sjones6
  • as
    • Mark's personal UI Framework with deep assumptions and opinionated bindings to GUN ~ By amark
  • gun-realm
    • A React Native RealmJS adapter for GunJS ~ By sjones6
  • gun-ui-gauge
    • (Still under development to fit the latest Gun version ( 0.9.x ) )
    • Add a GunDB controlled gauge to your webpage ~ By Stefdv
  • Node-RED ~ By TotallyInformation

Alternative Implementations

Storage Adapters

Examples

Examples, demos and tools demonstrating Gun features and capabilities

React

  • gundb-react-todolist Simple todo-list using gun and react-gun

  • react minimalist example with hooks Minimalist example on how use gun with basic React hooks such as useState and useEffect and functional components:

    • subscribe to stream after mounting with useEffect hook
    • unsubscribe from stream when unmounting component
    • create an item in a node
    • list all items from that node
    • delete item from node
  • react text search by indexed text Example on how to save a list of items in Gun, index them by name (or whatever prop you need) and perform a very efficient search.

  • gunDB + React + Express user auth example with:

    • sign up/sign in/change password
    • update user's "public" profile
    • multi-tab session syncing
    • access control using JWT access tokens and SEA certificates

Snippets

Snippets page with various examples of Gun patterns/features.

Deployment

Archive

The old pages are: (these will be archived after migrated to this page)

This wiki is where all the GUN website documentation comes from.

You can read it here or on the website, but the website has some special features like rendering some markdown extensions to create interactive coding tutorials.

Please feel free to improve the docs itself, we need contributions!

Clone this wiki locally