OverviewFilesCommitsIssuesDocsReleasesPeers

holepunchto-kb / use-case-map.json

287 lines · json ref:
{
  "useCases": {
    "distributed-database": {
      "description": "Building a distributed key-value database with P2P replication",
      "requiredRepos": [
        "hypercore",
        "hyperbee"
      ],
      "optionalRepos": [
        "autobase",
        "corestore",
        "hypercore-crypto"
      ],
      "patterns": [
        "append-only-log",
        "b-tree-index",
        "replication"
      ],
      "examples": []
    },
    "p2p-file-sharing": {
      "description": "Peer-to-peer file sharing and synchronization",
      "requiredRepos": [
        "hypercore",
        "hyperdrive",
        "hyperswarm"
      ],
      "optionalRepos": [
        "mirror-drive",
        "localdrive",
        "corestore"
      ],
      "patterns": [
        "file-system",
        "replication",
        "peer-discovery"
      ],
      "examples": []
    },
    "real-time-messaging": {
      "description": "Real-time P2P messaging and chat applications",
      "requiredRepos": [
        "hyperswarm",
        "hyperswarm-secret-stream"
      ],
      "optionalRepos": [
        "protomux",
        "compact-encoding",
        "noise-handshake"
      ],
      "patterns": [
        "peer-discovery",
        "streaming",
        "cryptography"
      ],
      "examples": []
    },
    "distributed-log": {
      "description": "Distributed append-only log for event sourcing",
      "requiredRepos": [
        "hypercore"
      ],
      "optionalRepos": [
        "corestore",
        "hypercore-crypto",
        "compact-encoding"
      ],
      "patterns": [
        "append-only-log",
        "replication",
        "cryptography"
      ],
      "examples": []
    },
    "p2p-networking": {
      "description": "Low-level P2P networking and peer discovery",
      "requiredRepos": [
        "hyperdht",
        "hyperswarm"
      ],
      "optionalRepos": [
        "dht-rpc",
        "hyperswarm-dht-relay",
        "noise-handshake"
      ],
      "patterns": [
        "dht-discovery",
        "peer-discovery",
        "cryptography"
      ],
      "examples": []
    },
    "multi-writer-collab": {
      "description": "Multi-writer collaboration with conflict resolution",
      "requiredRepos": [
        "autobase",
        "hypercore"
      ],
      "optionalRepos": [
        "corestore",
        "hyperbee"
      ],
      "patterns": [
        "append-only-log",
        "multi-writer",
        "replication"
      ],
      "examples": []
    },
    "encrypted-storage": {
      "description": "Encrypted P2P storage with access control",
      "requiredRepos": [
        "hypercore",
        "hyperdrive"
      ],
      "optionalRepos": [
        "hypercore-crypto",
        "sodium-native"
      ],
      "patterns": [
        "cryptography",
        "append-only-log",
        "file-system"
      ],
      "examples": []
    },
    "p2p-streaming": {
      "description": "Peer-to-peer video/audio streaming",
      "requiredRepos": [
        "hyperswarm",
        "hyperbeam"
      ],
      "optionalRepos": [
        "protomux",
        "compact-encoding"
      ],
      "patterns": [
        "streaming",
        "peer-discovery",
        "binary-encoding"
      ],
      "examples": []
    },
    "dht-application": {
      "description": "DHT-based distributed hash table application",
      "requiredRepos": [
        "hyperdht"
      ],
      "optionalRepos": [
        "dht-rpc",
        "hyperswarm"
      ],
      "patterns": [
        "dht-discovery",
        "peer-discovery"
      ],
      "examples": []
    },
    "bare-runtime-app": {
      "description": "Building applications with Bare JavaScript runtime",
      "requiredRepos": [
        "bare"
      ],
      "optionalRepos": [
        "bare-fs",
        "bare-net",
        "bare-crypto"
      ],
      "patterns": [],
      "examples": []
    },
    "pear-application": {
      "description": "Building P2P desktop applications with Pear runtime",
      "requiredRepos": [
        "pear"
      ],
      "optionalRepos": [
        "pear-desktop",
        "hyperswarm",
        "hyperdrive"
      ],
      "patterns": [
        "peer-discovery",
        "file-system"
      ],
      "examples": []
    }
  },
  "repoUseCases": {
    "hypercore": [
      "distributed-database",
      "p2p-file-sharing",
      "distributed-log",
      "multi-writer-collab",
      "encrypted-storage"
    ],
    "hyperbee": [
      "distributed-database",
      "multi-writer-collab"
    ],
    "autobase": [
      "distributed-database",
      "multi-writer-collab"
    ],
    "corestore": [
      "distributed-database",
      "p2p-file-sharing",
      "distributed-log",
      "multi-writer-collab"
    ],
    "hypercore-crypto": [
      "distributed-database",
      "distributed-log",
      "encrypted-storage"
    ],
    "hyperdrive": [
      "p2p-file-sharing",
      "encrypted-storage",
      "pear-application"
    ],
    "hyperswarm": [
      "p2p-file-sharing",
      "real-time-messaging",
      "p2p-networking",
      "p2p-streaming",
      "dht-application",
      "pear-application"
    ],
    "mirror-drive": [
      "p2p-file-sharing"
    ],
    "localdrive": [
      "p2p-file-sharing"
    ],
    "hyperswarm-secret-stream": [
      "real-time-messaging"
    ],
    "protomux": [
      "real-time-messaging",
      "p2p-streaming"
    ],
    "compact-encoding": [
      "real-time-messaging",
      "distributed-log",
      "p2p-streaming"
    ],
    "noise-handshake": [
      "real-time-messaging",
      "p2p-networking"
    ],
    "hyperdht": [
      "p2p-networking",
      "dht-application"
    ],
    "dht-rpc": [
      "p2p-networking",
      "dht-application"
    ],
    "hyperswarm-dht-relay": [
      "p2p-networking"
    ],
    "sodium-native": [
      "encrypted-storage"
    ],
    "hyperbeam": [
      "p2p-streaming"
    ],
    "bare": [
      "bare-runtime-app"
    ],
    "bare-fs": [
      "bare-runtime-app"
    ],
    "bare-net": [
      "bare-runtime-app"
    ],
    "bare-crypto": [
      "bare-runtime-app"
    ],
    "pear": [
      "pear-application"
    ],
    "pear-desktop": [
      "pear-application"
    ]
  }
}