Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jo/roy-replicator
Node implementation of CouchDB replicator. For educational purposes.
https://github.com/jo/roy-replicator
Last synced: about 2 months ago
JSON representation
Node implementation of CouchDB replicator. For educational purposes.
- Host: GitHub
- URL: https://github.com/jo/roy-replicator
- Owner: jo
- License: mit
- Created: 2013-10-31T22:22:31.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2014-01-31T21:42:32.000Z (almost 11 years ago)
- Last Synced: 2024-08-31T18:45:38.940Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 395 KB
- Stars: 20
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE-MIT
Awesome Lists containing this project
- awesome-starred - jo/roy-replicator - Node implementation of CouchDB replicator. For educational purposes. (others)
README
roy-replicator [![Build Status](https://secure.travis-ci.org/jo/roy-replicator.png?branch=master)](http://travis-ci.org/jo/roy-replicator)
==============
Node implementation of the CouchDB replication protocol.Usage
-----
```js
var adapter = require('roy-request');
var roy = require('roy-replicator');roy.replicate({
source: adapter('http://localhost:5984/my-source'),
target: adapter('http://localhost:5984/my-target')
}, function(err, resp) {
// Oh Pris!
});
```This should also be possible (but I haven't tested yet):
```js
var adapter = require('pouchdb');
```Goals
-----* Gain deeper understanding of CouchDB replication
* Good readability and testability
* CouchDB replicator compatibility
* Be nearly as fast as CouchDB
* Small browserified footprint
* PouchDB compatibility (replace `roy-request` with `pouchdb`)Resources
---------
* [CouchDB Replication Protocol by Alexander Shorin](http://kxepal.iriscouch.com/docs/dev/replication/protocol.html)
* [Jens Alfkes description of the replication algorithm](https://github.com/couchbaselabs/TouchDB-iOS/wiki/Replication-Algorithm)
* [CouchDB Replication Protocol on Data Protocols](http://www.dataprotocols.org/en/latest/couchdb_replication.html)
* [RCouchs Replication Algorithm in pseudo code](https://github.com/refuge/rcouch/wiki/Replication-Algorithm)Development
-----------
* Lint the code with `npm run jshint`
* Run the tests with `npm test`
* Browserify with `npm run build`
* List TODOS with `npm run todos`
* Run performance tests with `npm run perf`License
-------
Copyright (c) 2013 Johannes J. Schmidt, TFLicensed under the MIT license.