P2P Messaging and State Management: Todo List Demo.
a decentralized P2P todo list app to to demo the P2P framework used in the chat app.
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.
positive-intentions.github.io/p2p/?path=/story/de…
how it works:
- crypto-random ids are generated and used to connect to peerjs-server (to broker a webrtc connection)
- peer1 shares this ID to another browser/tab/person (use the storybook props)
- peers are then automatically connected.
- add todo item
- 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.
![](https://kbin.life/media/cache/resolve/entry_thumb/88/f4/88f4cf1aeb2110c541060eec66000e8e8ba062610e18ec0752cb1c55d07a8a3d.png)