this post was submitted on 12 Jul 2024
22 points (100.0% liked)

Open Source

31236 readers
427 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

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

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

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
top 3 comments
sorted by: hot top controversial new old
[–] amanda@aggregatet.org 1 points 4 months ago (1 children)

I’ve seen so many early-development/prototype P2P projects and so few mature ones. I wonder what’s driving this!

[–] positive_intentions@lemmy.ml 2 points 4 months ago (1 children)

I'm sure various factors affect any projects maturity.

I work on the project because I have a curiosity and the ability to try. Compared to other project, a webapp is pretty easy to get started on as a developer.

[–] amanda@aggregatet.org 1 points 4 months ago

It looks really cool!