P2P Messaging and State Management: Todo List Demo. - Lemmy.World
github.com
external-link
a decentralized P2P todo list app to to demo the P2P framework used in the chat app. https://github.com/positive-intentions/chat [https://github.com/positive-intentions/chat] a wrapper around peerjs. peerjs is good, but it can become complicated to use on complicated projects. This implementation is an attempt to create something like a framework/guideline for decentralized messaging and state management. https://positive-intentions.github.io/p2p/?path=/story/demo-todo-list--basic [https://positive-intentions.github.io/p2p/?path=/story/demo-todo-list--basic] how it works: 1. crypto-random ids are generated and used to connect to peerjs-server (to broker a webrtc connection) 2. peer1 shares this ID to another browser/tab/person (use the storybook props) 3. peers are then automatically connected. 4. add todo item 5. edit todo item There are several things here to improve like: - general cleanup throughout (its early stage for this project and missing all the nice things like good-code and unit-tests) - adding extra encryption keys for messages comming in and going out (webrtc mandates encryption already) - handling message callbacks - key rotation

a decentralized P2P todo list app to to demo the P2P framework used in the chat app.

https://github.com/positive-intentions/chat

This is a wrapper around peerjs. peerjs is good, but it can become complicated to use on complicated projects. This implementation is an attempt to create something like a framework/guideline for decentralized messaging and state management.

https://positive-intentions.github.io/p2p/?path=/story/demo-todo-list--basic

how it works:

  1. crypto-random ids are generated and used to connect to peerjs-server (to broker a webrtc connection)
  2. peer1 shares this ID to another browser/tab/person (use the storybook props)
  3. peers are then automatically connected.
  4. add todo item
  5. edit todo item

There are several things here to improve like:

  • general cleanup throughout (its early stage for this project and missing all the nice things like good-code and unit-tests)
  • adding extra encryption keys for messages comming in and going out (webrtc mandates encryption already)
  • handling message callbacks
  • key rotation

The goal is to create a private and secure messaging library in JavaScript running in a browser.

Create a post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

  • 1 user online
  • 31 users / day
  • 80 users / week
  • 216 users / month
  • 845 users / 6 months
  • 1 subscriber
  • 1.42K Posts
  • 8.13K Comments
  • Modlog