Library - jschema.js

Library - jschema.js

2017, Nov 12    

Data Modeling in JavaScript

jschema.js is a framework for modeling data in JavaScript and Node. By using fundamental data modeling principles similar to what you would see in traditional SQL based databases you are able to pull multiple datasets into in a common schema. Datasets contain their own metadata for data type, primary-key / forign key relationships allowing you to quickly and easily join datasets together. API makes it easy to aggregate, join, and subset making management of data easier than ever in your applications.

Why Model Data in JavaScript?

Having worked extensively with datasets in JavaScript it can become increasingly cumbersome to manage across complex user experiences. By encapsulating all of your data into a single object jschema.js retains the metadata about the tables providing a simple interface for accessing, manipulating, updating, and slicing it. Data is immutable so the original dataset remains pure.


Install via NPM npm install jschema.js.

Key features

jschema.js allows you to work with any tabular data in your application. The api allows you to add, join, drop, sort, group by, filter, update, and insert records into any table added to your schema. Generated tables will be added to a work namespace for simple garbage collection. Refer to the NPM or Github pages for a full details on the implementation.

jschema.js employs ES6 syntax using Babel to transpile for older browsers and older Node LTS versions. Code is tested using Mocha and JavaScript assertion library to ensure long term compatibility.


jschema.js uses requirejs to modularly load the library and is included in the package.json. require.js can be moved to the lib directory of your project. All test scripts are written for Mocha. See package.json in the repository for a full list of dependencies.


A live demo can be found on here: live demo


NPM| Github

Fork me on GitHub