sync3k is an offline-first event-sourcing synchronization engine with optional end-to-end encryption.
Installation
Install with npm:
npm install --save sync3k-client
Refer to sync3k-server for installing server-side components.
Usage
Currently, sync3k-client is offered as a redux store enhancer. First, use sync3k store enhancer when creating a store:
import { createStore, applyMiddleware, compose } from 'redux';
import reducer from './reducers';
import { enhancer } from 'sync3k-client';
const store = createStore(
reducer, // existing reducers for the application
compose(
enhancer,
applyMiddleware(
// other middlewares...
)
));
Then, dispatch an initializeSync message with websocket base url to sync3k-server, topic name, optional password for encryption (or empty string), and a boolean indicating whether to ask for encryption keys.
sync3k-client enhancer maintains several states under sync3k. Please refer to Sync3kState type declaration for available fields. Also take a look at the included notetaking-appexample for dealing with sync3k states.
Disclaimer: This is not an official Google product.
sync3k-client
sync3kis an offline-first event-sourcing synchronization engine with optional end-to-end encryption.Installation
Install with
npm:Refer to sync3k-server for installing server-side components.
Usage
Currently,
sync3k-clientis offered as areduxstore enhancer. First, use sync3k store enhancer when creating a store:Then, dispatch an
initializeSyncmessage with websocket base url tosync3k-server, topic name, optional password for encryption (or empty string), and a boolean indicating whether to ask for encryption keys.sync3k-clientenhancer maintains several states undersync3k. Please refer to Sync3kState type declaration for available fields. Also take a look at the includednotetaking-appexample for dealing withsync3kstates.Disclaimer: This is not an official Google product.