Initial release of P2P Governance prototype
This commit is contained in:
25
README.md
25
README.md
@@ -1 +1,24 @@
|
||||
# P2P Poll App
|
||||
# 🗳️ Simple P2P Poll & Chat
|
||||
|
||||
This is a minimal prototype of a decentralized governance tool built for the **Demcode Evocracy** experiment. It allows for basic deliberation and voting without a central database or server-side logic.
|
||||
|
||||
## What it does
|
||||
- **P2P Connectivity:** Uses WebRTC (via PeerJS) to link browsers directly.
|
||||
- **Mesh-capable:** Allows multiple connections to sync the same poll state.
|
||||
- **Live Sync:** Changes to the poll topic, options, or votes are broadcast to all connected peers.
|
||||
- **Chat:** A simple sidebar to discuss the poll in real-time.
|
||||
|
||||
## How to use it
|
||||
1. Open the page: [https://andrewlehr.github.io/evocracy-p2p-poll/]
|
||||
2. Set your **Nickname** and click "Set".
|
||||
3. Share your nickname with a friend.
|
||||
4. One person enters the other's nickname in the **Connect** box and clicks "Add Peer".
|
||||
5. Once connected, you can set a topic, add options, and vote.
|
||||
|
||||
## Technical Notes
|
||||
- **Data Persistence:** There is no database. If everyone closes their browser, the data is lost.
|
||||
- **Networking:** It uses a public signaling server to find peers, but the actual data (votes/chat) stays between the browsers.
|
||||
- **Conflict Handling:** Uses a simple "Last Write Wins" broadcast to keep peers in sync.
|
||||
|
||||
## Transparency
|
||||
This code was generated with the assistance of **Gemini (Google AI)** to quickly prototype the WebRTC networking logic. The goal was to create a clean, readable foundation that is easy for others to merge or modify during the next phase of the experiment.
|
||||
Reference in New Issue
Block a user