Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/peer-base/peer-pad
📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS.
https://github.com/peer-base/peer-pad
capabilities crdt ipfs p2p peer-star
Last synced: about 9 hours ago
JSON representation
📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS.
- Host: GitHub
- URL: https://github.com/peer-base/peer-pad
- Owner: peer-base
- License: mit
- Created: 2017-07-15T07:46:46.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-09-15T23:00:17.000Z (over 5 years ago)
- Last Synced: 2024-10-29T14:19:02.741Z (2 months ago)
- Topics: capabilities, crdt, ipfs, p2p, peer-star
- Language: JavaScript
- Homepage: https://peerpad.net
- Size: 19.2 MB
- Stars: 678
- Watchers: 26
- Forks: 57
- Open Issues: 95
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Security: docs/SECURITY.md
Awesome Lists containing this project
- awesome - peer-pad - 📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS. (JavaScript)
- stars - peer-base/peer-pad - 📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS. (JavaScript)
- awesome-starred - peer-base/peer-pad - 📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS. (ipfs)
README
[PeerPad](https://peerpad.net/) 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](docs/SECURITY.md), [Technology](docs/TECHNOLOGY.md)
## 🔓 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
- [Install](#install)
- [Usage](#usage)
- [Build](#build)
- [Testing](#testing)
- [Deploy](#deploy)
- [Contribute](#contribute)
- [License](#license)## Lead Maintainer
[Jim Pick](https://github.com/jimpick)
## Install
With the following installed:
- git
- node >= 8
- npm >= 6Clone the repo and install the dependencies from npm.
```bash
git clone https://github.com/ipfs-shipyard/peer-pad.git
cd peer-pad
npm install
```## Usage
For local *development* with hot code reloading
```bash
npm start
```Then open [http://localhost:3000](http://localhost:3000) in your browser.
## Build
To build into the `build` dir, run:
```bash
npm run build
```## Testing
To run the **unit** tests:
```bash
npm test
```To run the **end-to-end** smoke test that runs PeerPad in multiple, headless Chrome instances run:
```bash
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](tests/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:
```bash
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.
```bash
DEBUG=true npm run test:e2e
```To run the e2e test against a deployed version, just pass the url as an env var
```bash
URL=https://peerpad.net npm run test:e2e
```To run the **e2e load tests**:
```bash
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](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](https://github.com/ipfs-shipyard/peer-pad/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](docs/CONTRIBUTING.md) for details on the latest development flow.
### Want to hack on PeerPad?
[![](https://cdn.rawgit.com/jbenet/contribute-ipfs-gif/master/img/contribute.gif)](docs/CONTRIBUTING.md)
## License
[MIT](https://github.com/ipfs-shipyard/peer-pad/blob/master/LICENSE)