hoodie-standalone-store
v2.1.0
Published
CouchDB REST & front-end API
Downloads
5
Maintainers
Readme
hoodie-standalone-store
CouchDB REST & front-end API
Scope
The goal is to create very simplistic server for static apps, that can store, synchronise and share data by secure IDs only
Exposes CouchDB's database & document API* at /api
,
and a pre-initialised PouchDB Hoodie Store
at /store.js
.
*
CouchDB is in admin party, sensitive APIs are disabled
Install
npm install --save hoodie-standalone-store
Usage
// my-server.js
var Hapi = require('hapi')
var hapiStore = require('hoodie-standalone-store')
// serve static files from ./public
server.route({
method: 'GET',
path: '/{param*}',
handler: {
directory: {
path: 'public'
}
}
})
server.register({
register: hapiStore,
options: {
// optional. If no options passed, a pouchdb server
// will be started at http://localhost:5985
couch: 'http://localhost:5984'
// Alternatively, pass spawn-pouchdb-server options:
// https://github.com/gr2m/spawn-pouchdb-server#options
}
}, function (error) {
if (error) throw error
})
server.connection({
port: 8000
})
server.start(function () {
console.log('Server running at %s', server.info.uri)
})
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>My App</title>
</head>
<body>
<!-- some pretty app here -->
<script src="/store.js"></script>
<script>
var store = new Store('my-shareable-dbname')
store.add({note: 'hello world!'})
// see full API at https://github.com/hoodiehq/hoodie-client-store
</script>
</body>
</html>
Local setup & tests
git clone [email protected]:hoodiehq/hoodie-standalone-store.git
cd hoodie-standalone-store
npm install
npm test
To start the local dev server, run
npm start
License
MIT