Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

goblindb

Package Overview
Dependencies
Maintainers
3
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

goblindb

GoblinDB | Fear the Goblin! | An amazing, simple and fun database for humans

  • 0.0.8
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
Maintainers
3
Weekly downloads
 
Created
Source

shieldsIO shieldsIO shieldsIO shieldsIO

GoblinDB

goblin

Fear the Goblin!

An amazing, simple and fun database for humans

Goblin Philosophy

  • Coding is fun, so databases must be fun too.
  • Data is the king.
  • Data should be stored in the system as a file when a change happend.
  • Data storage in the system must be hackable.
  • The database can lead or connect your server components.
  • Events are great... because we are asynchronous.
  • We prefer facts over promises: facts are there, promises maybe yes or not. In fact, we're talking about callbacks.
  • Data is not the only stuff that can be store in a database.
  • We prefer ambush functions over lambda functions. As you know... we're talking about anonymous functions.

Documentation

var GDB = require("goblindb");

var goblinDB = GDB();

console.log("Fear the Goblin!")

// Events supported
goblinDB.on('change', function(changes){
    console.log("-- change detected!:", changes)
    console.log("====================")
});

// Read all Database...
var originalData = goblinDB.get();
console.log("originalData:", originalData);

// Store data...
goblinDB.set({"data": "world!", "data2": "Hiiiii"});

// Update date...
goblinDB.update({"new data": "hellooo....", "new array": ["aaaa", true, 2], "data": "cambiado!"})

// Read all Database...
var currentData = goblinDB.get();
console.log("currentData:", currentData)

Check the official documentation in our website

Demo

You can run a demo in 4 steps!

  1. Clone this repository
    git clone https://github.com/UlisesGascon/GoblinDB 
  1. Enter in the folder
    cd GoblinDB
  1. Install the dependencies
    npm install
  1. Run fear_the_goblin.js
    node demo/fear_the_goblin.js

Testing

You can test your changes...

npm test

Future Implementations

  • Support multidimensional navigation in the database (.ref() method).
  • Support to chain methods.
  • Puglin documentation exameple
  • Add basic query methods as a plugin.
  • Add Avance query methods as a plugin.
  • Add support to .once() method for events.
  • Add support to UID in events.
  • Additional events to support (config changes, etc...).
  • Add additional support to Backup goblin with other databases like Firebase, Mongo... in real time as a plugin.
  • Full documentation in JSDoc.
  • Gulp Tasks Improvement.
  • Test support for Events using Sinon.
  • Test refactor in order to separate more the test cases.

Plugins

  • GoblinSocket. WebSocket interface for GoblinDB using SocketIO

Achievements

v.0.0.8

Main target:

  • Improve architecture & compatibility

Features:

  • Native Events now supported.
  • No need to use Object.observe or proxy ECMA6 alternatives.
v.0.0.7

Main target:

  • Ambush support

Bugs Fixed:

  • No need to require http module, in documentation examples

Features:

  • Database testing improved
  • Added optional features like parameters and callbacks for Ambush (lambda) functions
  • Added automatic save for Ambush
  • Added .goblin extension in order to store ambush operations
  • Added Testing to support ambush features
  • Added goblin.ambush as container
  • Added goblin.ambush.add(),
  • Added goblin.ambush.remove(),
  • Added goblin.ambush.update(),
  • Added goblin.ambush.list(),
  • Added goblin.ambush.details(),
  • Added goblin.ambush.run()
v.0.0.6
  • Readme improved
v.0.0.5
v.0.0.4

Features:

  • Documentation improved

Bugs Fixed

v.0.0.3

Notes: Just to solve issues with NPM.

v.0.0.2

Main target:

  • Develop the basics key functionalities (methods)
  • Key/Value operative database
  • Event support
  • Database recorded as file
  • Minimum config setup

Features:

  • Added support to JSDoc
  • Added Gulp Tasks
  • Added Basic Testing with Mocha, Chai and Istanbul
  • Added .editorconfig
  • Added esLint support
  • Roadmap added
  • Added File structure
  • Added minimal validation
  • Added basic documentation
  • Added GoblinDB as Module
  • Added GoglinDB Helpers as an independente module
  • Added support to store the data on demand as JSON
  • Added full support to events
  • Added support to key changes in events
  • Added Method on
  • Added Method off
  • Added Method getConfig
  • Added Method setConfig
  • Added Method stopStorage
  • Added Method startStorage
  • Added Method get
  • Added Method push
  • Added Method set
  • Added Method update
v.0.0.1

Features:

Notes: Just a "Hello world"

Keywords

FAQs

Package last updated on 24 Feb 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc