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.
With the following installed:
Clone the repo and install the dependencies from npm.
git clone https://github.com/ipfs-shipyard/peer-pad.git cd peer-pad npm install
For local development with hot code reloading
Then open http://localhost:3000 in your browser.
To build into the
build dir, run:
npm run build
To run the unit tests:
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
You can self-host your own PeerPad. For that, run
npm run build and deploy the
build directory to a web-server
Some dependencies (like webcrypto) require that you're serving under HTTPS unless it's
The PeerPad is a work in progress. As such, there's a few things you can do right now to help out:
Read the PeerPad contributing.md for details on the latest development flow.