Skip to content

imagineeeinc/dino-db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dino DB

🦕A small, document-oriented data base🦕

Dino DB is a light yet robust Database for portable and server applications. A document-oriented based on the design of firestore.

There are separate modules you can add to enhance your usage of DinoDB. There is a server extension which allows you to access the Database from external applications with http requests, there is also a cross platform client which adds a clean api to make requests to your database.

NPM npm bundle size npm npm

Install

# npm
npm i dino-db
// node
const dinoBb = require('dino');

// browser (skypack)
import * as dinoDb from 'https://cdn.skypack.dev/dino-db'
// browser module bundler
import * as dinoDb from 'dino-db'

Check out on how to expose your database to external apps with the server extension.

Then check out on how to connect to the database with the JavaScript based client

Usage

//initialise databse in the app
var db = new db.databse({id: "food"})
// Use the normal api avalible
db.setInBook("ingredients", "sugar", {dishes: "sweet dish", price: 10.50})
db.getInBook('ingredients', 'sugar')

read more about data hierarchy to see how to structure data

Docs

Read the docs here (not finished)

Data Hierarchy

Example

Food(database)
|
\_raw ingredients(book)
||
|\_sugar(page)
|| |
|| \_usage: "sweet dish"
||   image: "https://example.com/sugar.png"
|\_salt(page)
|| |
|| \_usage: "savoury items"
||   image: "https://example.com/salt.png"
|\_ ...(page)
|
\_dishes(book)
 |
 \_dounut(page)
 | |
 | \_ingredients: ["sugar", ...]
 |   instruction: {step1: ..., step2: ..., ...}
 \_crackers(page)
   |
	 \_ingredients: ["salt", ...]
     instruction: {step1: ..., step2: ..., ...}