Skip to content

Latest commit

 

History

History
94 lines (49 loc) · 4.68 KB

README.md

File metadata and controls

94 lines (49 loc) · 4.68 KB

@gun-vue logo

Vue + Gun p2p crypto graph db toolkit

Gun-vue – is where the peer-to-peer javascript database Gun meets the reactivity system of Vue. Pluggable components for UX designers. Easily importable composables for UI developers. Relay peer for p2p network enthusiasts. Demos and docs for beginners. Open source for everyone! ✊

What is @gun-vue?

@gun-vue is a open collection of interconnected building blocks for making a whole range of decentralized apps for online and offline collaboration. It's a place where we can feel the nature of distributed networking and have fun together!

Gun is a CRDT based distributed graph database, Vue is a reactive JS UI framework. And SEA is web-browser cryptography adapter. Together they evolve into an ecosystem of multiple app levels.

The project is committed to give all the basic tools for everyone to participate in exploring this new graph universe. You can find your own way in it for yourself.

There code is organised into distinct layers in the @gun-vue npmjs.com organisation for you to install and use in your P2P apps.

@gun-vue/app

The main gun-vue.js.org web-site is a demo Gun-Vue Vite SPA. It's also automagically gets built into a set of desktop apps.

Web app hosted at GitHub pages and JS.org domain

The app is reachable via the free js.org subdomain since Jan 2022. Yet it's build with the relative base path and can be served from any domain and path.

Desktop app releases via GitHub Actions and Tauri

Every time a new version of Gun-Vue is published, an automated action creates a new release draft with a full kit of lightweight native desktop apps for Windows, Mac OS and Linux with Tauri by a GitHub Action. Mobile apps are coming.

Open source code at GitHub pnpm monorepo

The code is cut into vertical slices as small interconnectable apps in the common source folder.

This means that each folder in the src directory is a quite convenient section of the whole codebase. Each holds shared basic structure, but has distinct functionality.

All the code get build locally to the _dist folder and it's then deployed to the free GitHub Pages static site hosting.


@gun-vue/components

Ready to use Vue 3 components as building blocks to implement Gun powered interactivity in seconds.

NPM version

Playground at Stackblitz.com

Native web-components may be implemented in future.


@gun-vue/composables

NPM version

Composable functions for use with Vue 3 Composition API

Documentation with Typedoc and Vitepress


A simple no-store Gun server to throw at any free tier Node.js environment.

NPM version

Demo relay by DeFUCC


Development video blog. Watch at DeFUCC youtube channel

You can find shorter feature announcements there along with longer live coding sessions.

How to build the workspace repo yourself?

  1. Clone the repo
  2. Use pnpm to install all the dependencies in the workspaces
npm i -G pnpm
pnpm i
  1. Use dev and docs scripts in the root package.json to run corresponding dev servers.
  2. Use npm run build to build the whole project to the _dist folder.