Skip to content

silkroadnomad/orbit-blog

Repository files navigation

Orbit-Blog

A local-first & peer-to-peer blog powered by OrbitDB which replicates between browsers and mobile apps. IPFS (only)
Orbit Blog Logo

Install as Progressive Web App (PWA)

Visit orbit-blog @ ipns IPFS Companion needed

QR Code to PWA

Features

  • UI related
    • deploy to IPFS
    • markdown support for posts
    • [?] markdown support for comments
    • search in posts
    • search in comments
  • OrbitDB related
    • blog settings via private settings db
      • blog name
      • blog description
      • username by blockchain (Bitcoin Ordinals, Runes, Namcoin, Doichain)
      • did
      • seed phrase
    • generate seed phrase, masterseed
    • generate libp2p peerid from seed phrase / masterseed
    • switch between temporary identity & peerId (default for browsers) and persistent identity & peerId (for mobiles)
    • add posts and remote dbs addresses to settings db
    • enable pubsub ipfs pinning of posts and comments
      • every post results into a new CID which needs to be published to pubsub pinning service
      • every CID needs to be packaged into a metadata.json name, description, media (CID)
      • signature and public key from arriving pubsub message (if available)
      • pinning must be pre-paid (FIAT/Crypto) for a public-key
      • setup own hosted pinning-relay
      • run your own pinning RaspberryPi
    • AcccessController: blog can only write the local peer-id
      • hide delete posts / comments button if not owner
    • implement OneTimeAccessController
    • DBManager connect & replicated remote blogs
    • demonstrate webrtc-direct connections without relay-server but SDP-QR-Codes or SDP - Voice
    • upload & replicate images / integrate ipfs images cids into markdown
  • App related
    • deployable to IPFS
    • run as PWA
      • vite-plugin-pwa
      • orbitlogo ai generated
    • version management
    • e2e tests
    • ci / cd