gdb

GraphDB (GDB) – Decentralized P2P Graph Database

A lightweight, decentralized graph database designed for modern web applications, offering real-time peer-to-peer synchronization, WebAuthn-based authentication, role-based access control (RBAC), and efficient local storage utilizing OPFS.

GraphDB


NPM Version NPM License

Downloads on NPM

Project Status

NPM Unpacked Size (with version)

npm package minimized gzipped size

Liberapay receiving

Main Features

GraphDB Core

Warning

This project is under active development. Do not use it in production environments until it reaches the beta or stable phase. Check the Project Status section for more details.

Project Status

⚠️ The API is under active development and may change without notice. Use fixed versions and check the changelog before upgrading.

Role Based Access Control (RBAC)

Security

Important Notice: This project is currently in the research and development phase and is not yet ready for production use. Please wait until it reaches the beta or stable phase before deploying it in a live environment. Refer to the Project Status section for more details.

Installation

1. Via NPM

npm install gdb-p2p
import { GraphDB } from "gdb-p2p"

2. Direct use in browser from a CDN

<script type="module">
  import { GraphDB } from "https://cdn.jsdelivr.net/npm/gdb-p2p/+esm"
</script>

Documentation

For detailed documentation, visit our GitHub Wiki.

For interactive, AI-assisted GraphDB documentation, visit our Devin Wiki.

Examples

We’ve created a collection of interactive examples to help you understand how GDB works in real-world scenarios. These examples cover everything from basic setup to advanced features like RBAC and P2P synchronization.

👉 Explore Examples

Internal Dependencies

Below is a list of internal dependencies and their purposes within the project:

Dependency Usage
@msgpack/msgpack Data serialization/deserialization in MessagePack format.
pako Data compression/decompression using gzip.
trystero P2P synchronization for sharing changes in real-time between tabs/devices.
BroadcastChannel Communication between browser tabs to notify local changes.

Additional Information

General Note: These dependencies are integral to the project’s performance and functionality, ensuring efficient data handling and real-time synchronization while leveraging decentralized technologies like Nostr.

Repository Diagram

The project includes an interactive visualization of the repository’s history and structure, which you can explore by clicking the following link: gdb repository diagram.

The project includes an interactive visualization of the repository’s history and structure, which you can explore here:

gdb repository diagram

This graphical view is especially useful for new contributors or anyone looking to gain deeper insight into the project’s evolution and structure, providing a clear and visual understanding of the workflow.

Contributing

We welcome contributions to improve this project! Please read our Contribution Guidelines for details on how to get started.

Community

We value community contributions and discussions! Here’s how you can get involved:

Feel free to ask questions, share ideas, or just say hello! 👋

For more details on contributing, check out our Contributing Guidelines.

Licenses

This project includes third-party dependencies with their respective licenses. For detailed information, see the Licenses page in the Wiki.

The source code of this project is licensed under the MIT License. For more information, see the LICENSE file.

Maintenance

This repository provides minified builds of GraphDB (GDB), a decentralized P2P graph database designed for modern web applications. These builds are freely available for anyone to use and integrate into their projects. Please note that the source code is not publicly available at this time; only the minified versions are provided. The project is actively maintained by Esteban Fuster Pozzi (@estebanrfp)

Author

Esteban Fuster Pozzi (@estebanrfp) — Full Stack JavaScript Developer and creator of GraphDB (GDB), an open-source real-time graph database built entirely with modern vanilla JavaScript.

FOSSA Status

FOSSA Status

💖 Support This Project

If you find this project useful and would like to support its development, please consider making a donation:

Donate using Liberapay