@aspen.cloud/aspendb
v0.3.6
Published
Your unified, personal database to store data for many applications.
Downloads
36
Readme
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.