0.3.6 • Published 5 years ago

@aspen.cloud/aspendb v0.3.6

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
5 years ago

AspenDB

AspenDB is a database designed to capture the data from the apps and services you use like Spotify, Gmail, and more.

Made by the folks at Aspen

Key Features

  • Multiple apps in one database
  • Store any JSON data
  • Sync to Aspen Cloud or any CouchDB instance to make your data available anywhere

Getting started

The fastest way to start using AspenDB for your own data is to use Aspen CLI

Installation

Install with NPM or Yarn

npm i @aspen.cloud/aspendb

yarn add @aspen.cloud/aspendb

You might also need to install gcc for the some of the dependencies.

Import Aspen Local

import AspenLocalDB from '@aspen.cloud/aspendb';
const aspendb = new AspenLocalDB();

Add data for your apps

await aspendb.app('my-notes').add({title: 'Data Ownership', body: 'In the future, users should own and control their data.'})
await aspendb.app('my-notes').add({title: 'Music Library', body: 'I need to make a universal music library that includes Spotify and Soundcloud.'})

await aspendb.app('music').add(aspendb.app('music').add({type: 'track', title: 'Nights', artist: 'Frank Ocean' }););
await aspendb.app('music').add({type: 'album', title: 'Coloring Book', artist: 'Chance the Rapper' });

Get your data

await aspendb.app('music').all();
// Return all documents in 'music'

or get all of your data

// aspendb.global gives you a reference to the underlying PouchDB instance
await aspendb.global.allDocs();
// Returns all documents from 'music' and 'my-notes'

Query your data

const trackQuery = { selector: { type: { $eq: "tracks" } } };
await aspendb.app('music').find(trackQuery);
// Returns tracks from your collection 'music'

Technologies used

  • Written in Typescript
  • PouchDB, under the hood, to handle syncing and querying.
  • SQLite as the storage engine used locally.