im working on a decentralized messaging app and generally up until recently i thought in such a system, if a peer is offline, you cant send a message… it wouldnt be “decentralized” if there was some central queue of messages.

it took embarassingly long, but then it hit me… git… just regular git is a decentralized database.

in my setup i need the ability for others to be abe to read and only i should be able to write to it. that functionality is out-the-box in git.

git is also pretty standardized so there are many providers if users want to move away from Github.

the storage requirements for my project are fairly small. typically small text messages. the data itself thats publicly readable would be encrypted.

  • amzd@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    27 days ago

    If you’re mostly looking to build a front end you can use the chatmail core library to handle all message delivery and profile creation. That way you instantly tap into the hundreds (if not thousands) of chatmail relays people are already running and as a bonus you can be compatible with other chatmail messengers like Delta Chat, Arcane Chat, etc.

    • xoron@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      27 days ago

      Thanks! I haven’t come across chatmail before. I’ll take a look there and see how it works.

      With git, I like that there are many providers with a free-tier. It’ll make it easier to get started. Although it seems this way of using git could be against ToS.

      • amzd@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        25 days ago

        Git changes are accumulative so not great for messengers because the server should only temporarily store the message until the other client has fetched it.