A realtime, decentralized, offline-first, graph database engine
Mark Nadal 7a8fceba07 RAD test improvements 14 hours ago
examples Merge branch 'master' of http://github.com/amark/gun 1 week ago
hooks Made the Docker Hub Automated build hook usable offline via 'npm docker' 1 year ago
lib RAD test improvements 14 hours ago
sea unbuild sea 2 weeks ago
src unbuild 2 weeks ago
test RAD test improvements 14 hours ago
.dockerignore * Sanitized /examples dependency management 1 year ago
.gitignore Minor modification to support browser storage better in NodeJS/testing 9 months ago
.travis.yml Merge branch 'master' into chore/cache-node-modules 1 week ago
CHANGELOG.md Update CHANGELOG.md 7 months ago
Dockerfile Docker build adjustments 1 week ago
LICENSE.md chore(license): Adding triple license 3 years ago
Procfile test heroku? 4 months ago
README.md thanks @bogdant for React Native tutorial! 1 month ago
app.json BasicDocker Button deployment with template app.json file 1 year ago
as.js Update as.js 2 weeks ago
bower.json fix path, map, set, load, load, ws & escape todo + bump 3 years ago
gun.js RAD test improvements 14 hours ago
gun.min.js unbuild 2 weeks ago
index.js Massive directory cleanup, more reliable transport 3 years ago
nts.js some quick fixes 1 year ago
package-lock.json Docker build adjustments 1 week ago
package.json RAD test improvements 14 hours ago
sea.js force delete & clean up user on leave 2 weeks ago

README.md

npm Travis FOSSA Status Gitter

GUN is a realtime, distributed, offline-first, graph database engine. Doing 20M+ ops/sec in just ~9KB gzipped.

Why?

  • Realtime - You might use Socket.IO for realtime updates, but what happens if you reload the page? GUN solves state synchronization for you, no matter what, on reloads, across all your users, and even on conflicting updates.
  • Distributed - GUN is peer-to-peer by design, meaning you have no centralized database server to maintain or that could crash. This lets you sleep through the night without worrying about database DevOps - we call it "NoDB". From there, you can build decentralized, federated, or centralized apps.
  • Offline-first - GUN works even if your internet or cell reception doesn't. Users can still plug away and save data as normal, and then when the network comes back online GUN will automatically synchronize all the changes and handle any conflicts for you.
  • Graph - Most databases force you to bend over backwards to match their storage constraints. But graphs are different, they let you have any data structure you want. Whether that be traditional tables with relations, document oriented trees, or tons of circular references. You choose.

Quickstart

  • Try the interactive tutorial in the browser (5min ~ average developer).
  • Or npm install gun and run the examples with cd node_modules/gun && npm start (5min ~ average developer).

Note: If you don't have node or npm, read this first. If the npm command line didn't work, you may need to mkdir node_modules first or use sudo.