P2PDocs: Building a Decentralized Collaborative Editor A Distributed Systems Course Project at the University of Udine Course: Distributed Systems Team: Alessandro De Biasi, Alessandro Minisini, Nazareno Piccin GitHub: Repository Link | Stack: Elixir, Node.js, Docker
๐ Project Overview As part of our Distributed Systems course, we designed P2PDocs, a peer-to-peer collaborative text editor. The goal was to implement and evaluate core distributed algorithms:
Conflict-Free Replicated Data Types (CRDTs) for conflict resolution Causal Broadcast for ordered message delivery ๐ Key Technical Contributions 1. LSEQ CRDT Implementation To achieve intention preservation (ensuring edits respect user intent across peers), we adopted the LSEQ strategy:
...