selfup-rejs

1.1.1 • Public • Published

Selfup - Rejs

File based database! Built for developer freedom. Geared for NodeBots/IoT

Event Based Key Value Store:

Made to store hardware data on the filesystem!

Installation:

npm install selfup-rejs --save

Warning

This was built with node v14.4.0

Ensure your data is safe and not in version control:

echo 'selfup-rejs/*' >> .gitignore

Load package:

const Rejs = require('selfup-rejs');
const rejs = new Rejs();

Official DOCS:

Documentation: right here!

Example Use Case Repos:

Raspberry Pi

NodeBots/JohnnyFive and logging event data: Repo

Arduino

NodeBots/JohnnyFive and logging event data: Repo

Video on how to use selfup-rejs:

Link to Youtube Vid

How to Use:

Using RESTful verbs to help explain from a high level what is happening.

This is not a server.

This is a database that writes and reads files on the server.

Verbs/Methods

  • (POST) Create a table: rejs.createTable('tablename')
  • (POST) Create Multiple Tables: rejs.createTables('one', 'two', 'three')
  • (POST) Add data to table: rejs.newData('tablename', dataObject)
  • (POST) Add data to Multiple Tables:
rejs.newDatas(
  ['firstTable', { test: 'data' }],
  ['secondTable', { test: 'data' }],
  ['thirdTable', { test: 'data' }],
);
  • (DELETE) Delete data by ID in a table: rejs.deleteById('tablename', '2')
  • (DELETE) Drop a table: rejs.dropTable('tablename')
  • (DELETE) Multi-Table Drop: rejs.dropTables('firstTable', 'secondTable')
  • (PUT) Replace/Overwrite a table: rejs.updateTable('tablename', dataObject)
  • (PUT) Replace/Overwrite Multiple tables:
rejs.updateTables(
  ['firstTable', { test: 'new data' }],
  ['secondTable', { test: 'new data' }],
  ['thirdTable', { test: 'new data' }],
);
  • (GET) Table Object Query: rejs.getTable('tablename')
  • (GET) Multi-Table Query: rejs.getTables('table', 'table2', 'table3')
  • (GET) Find by ID: rejs.findId('tablename', 'id')
  • (GET) Where/Select: rejs.where('tablename', 'any value in a flat object')

Potential use Cases:

JohnnyFive/NodeBots/IoT

  • Store temperature data over time
  • Store how many times a door has been opened
  • Store telemetry data
  • Store Data on a Raspberry Pi
  • Store Data on a server hooked up to an Arduino
  • Store Data on an Arduino Yun/BeagleBone/etc...
  • Many possibilities for IoT

Electron OSX/Windows Apps

  • Store file paths to load files needed on load
  • Store small notes for a twitter like notes app
  • Store image url's
  • Store any data that you need to persist from app shutdown back to open

VPS

  • Use it as a small DB for a low volume production app
  • Use it to get quickly set up, and then move on to Mongo/Postgres once your app is mature and MVP is proven

Test Coverage

To get 100% coverage:

If the selfup-rejs folder is in your directory:

npm install
rm -rf selfup-rejs

Then you can run:

./node_modules/.bin/istanbul cover _mocha

Now the selfup-rejs folder will be in your directory again!

To run tests without coverage:

npm test

Dependents (0)

Package Sidebar

Install

npm i selfup-rejs

Weekly Downloads

0

Version

1.1.1

License

MIT

Unpacked Size

20.1 kB

Total Files

7

Last publish

Collaborators

  • selfup