All Projects → peer-base → Peer Pad

peer-base / Peer Pad

Licence: mit
📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Peer Pad

Y Ipfs Connector
Y.js connector over IPFS
Stars: ✭ 49 (-91.31%)
Mutual labels:  crdt, p2p, ipfs
Ipfs Log
Append-only log CRDT on IPFS
Stars: ✭ 269 (-52.3%)
Mutual labels:  crdt, p2p, ipfs
Berty
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network
Stars: ✭ 5,101 (+804.43%)
Mutual labels:  crdt, p2p, ipfs
Orbit Db
Peer-to-Peer Databases for the Decentralized Web
Stars: ✭ 6,381 (+1031.38%)
Mutual labels:  crdt, p2p, ipfs
awesome-orbitdb
Useful resources for using OrbitDB and building projects on it
Stars: ✭ 87 (-84.57%)
Mutual labels:  ipfs, p2p
godless
Peer-to-peer lite database over IPFS
Stars: ✭ 72 (-87.23%)
Mutual labels:  ipfs, crdt
meanOs
Mean Operating System - The first decentralized, artificially intelligent, MEAN.js stack, operating system. Mean OS is the only operating system hosted anonymous using a P2P network and a suite of non-standard in-browser delivery mechanisms. Mean OS proudly supports Brave and Tor, be free!
Stars: ✭ 62 (-89.01%)
Mutual labels:  ipfs, p2p
hyperhyperspace-core
A library to create p2p applications, using the browser as a full peer.
Stars: ✭ 112 (-80.14%)
Mutual labels:  p2p, crdt
rdoc
Conflict-free replicated JSON implementation in native Go
Stars: ✭ 76 (-86.52%)
Mutual labels:  p2p, crdt
mute-structs
MUTE-structs is a Typescript library that provides an implementation of the LogootSplit CRDT algorithm.
Stars: ✭ 14 (-97.52%)
Mutual labels:  p2p, crdt
orbit-core
Orbit communication protocol and library
Stars: ✭ 70 (-87.59%)
Mutual labels:  ipfs, p2p
Yjs
Shared data types for building collaborative software
Stars: ✭ 5,894 (+945.04%)
Mutual labels:  crdt, p2p
ipvpn
[WIP] Easy-to-use decentralized secure overlay private network (for any device)
Stars: ✭ 24 (-95.74%)
Mutual labels:  ipfs, p2p
field-manual
The Offical User's Guide to OrbitDB
Stars: ✭ 178 (-68.44%)
Mutual labels:  ipfs, p2p
example-orbitdb-todomvc
TodoMVC with OrbitDB
Stars: ✭ 17 (-96.99%)
Mutual labels:  ipfs, p2p
viddist
[not functional] A completely decentralized alternative to e.g. YouTube
Stars: ✭ 22 (-96.1%)
Mutual labels:  ipfs, p2p
js-http-client
[DEPRECATED] Official Textile JS HTTP Wrapper Client
Stars: ✭ 29 (-94.86%)
Mutual labels:  ipfs, p2p
Awesome Decentralized
🕶 Awesome list of distributed, decentralized, p2p apps and tools 👍
Stars: ✭ 358 (-36.52%)
Mutual labels:  p2p, ipfs
go-multiverse
Decentralized Version Control System
Stars: ✭ 76 (-86.52%)
Mutual labels:  ipfs, p2p
pop
Run a point-of-presence within Myel, the community powered content delivery network.
Stars: ✭ 28 (-95.04%)
Mutual labels:  ipfs, p2p

PeerPad logo

PeerPad is a decentralized editor that allows concurrent writing of text. Besides making live changes to a given document, it allows read-only nodes to follow the changes in real-time. It also allows you to publish a self-contained snapshot of the document to IPFS.

Test it live at https://peerpad.net or https://ipfs.io/ipns/peerpad.net

Docs: Security, Technology

🔓 PeerPad is experimental software. It hasn't been audited, and as such shouldn't be used to create or share sensitive information.

Table of Contents

Lead Maintainer

Jim Pick

Install

With the following installed:

  • git
  • node >= 8
  • npm >= 6

Clone the repo and install the dependencies from npm.

git clone https://github.com/ipfs-shipyard/peer-pad.git
cd peer-pad
npm install

Usage

For local development with hot code reloading

npm start

Then open http://localhost:3000 in your browser.

Build

To build into the build dir, run:

npm run build

Testing

To run the unit tests:

npm test

To run the end-to-end smoke test that runs PeerPad in multiple, headless Chrome instances run:

npm run build
npm run test:e2e:ci

The e2e tests expect the site to already be running, so the test:e2e:ci will fire up an http-server before running the tests in test/e2e.

If you're running the dev server on the default port (via npm start) then you can run the e2e tests without starting a server with:

npm run test:e2e

By default the Chrome instances run headless, so you won't see the robots clicking around in the browser. To debug the tests and see what's going pass DEBUG=true as an env var.

DEBUG=true npm run test:e2e

To run the e2e test against a deployed version, just pass the url as an env var

URL=https://peerpad.net npm run test:e2e

To run the e2e load tests:

npm run test:e2e:load

Deploy

You can self-host your own PeerPad. For that, run npm run build and deploy the build directory to a web-server

See docs/DEPLOY.md more info on how PeerPad is deployed to https://peerpad.net

Some dependencies (like webcrypto) require that you're serving under HTTPS — unless it's localhost...

Contribute

The PeerPad is a work in progress. As such, there's a few things you can do right now to help out:

  • Check out the existing issues!
  • Perform code reviews. More eyes will help a) speed the project along b) ensure quality and c) reduce possible future bugs.
  • Add tests. There can never be enough tests.

Read the PeerPad contributing.md for details on the latest development flow.

Want to hack on PeerPad?

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].