https://github.com/ignoreintuition/jSchema
A simple, easy to use data modeling framework for JavaScript
https://github.com/ignoreintuition/jSchema
data data-modeling data-structures data-visualization dataset drop filter group groupby hacktoberfest javascript javascript-library multiple-datasets orderby sort
Last synced: 24 days ago
JSON representation
A simple, easy to use data modeling framework for JavaScript
- Host: GitHub
- URL: https://github.com/ignoreintuition/jSchema
- Owner: ignoreintuition
- License: mit
- Created: 2017-10-17T02:22:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-04-19T03:04:22.000Z (about 7 years ago)
- Last Synced: 2024-11-05T15:50:02.174Z (6 months ago)
- Topics: data, data-modeling, data-structures, data-visualization, dataset, drop, filter, group, groupby, hacktoberfest, javascript, javascript-library, multiple-datasets, orderby, sort
- Language: JavaScript
- Homepage: http://resurgencewebdesign.com/jschema/
- Size: 2.28 MB
- Stars: 266
- Watchers: 12
- Forks: 21
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jSchema

## Data Modeling in JavaScript
jSchema is a framework for modeling data in JavaScript. By using fundamental data modeling principles you are able to pull multiple datasets into a common schema, define relationships, aggregate, join, and subset datasets to make data easier to work with in the browser.
jSchema is going to create an object called `jSchema`. This object is a metadata representation of all your datasets containing the table names, column names, and keys that define sets. The data itself is stored in a closure within the object and is retrieved via a getter function. Joining data, aggregating data, and filtering data will create a new dataset in your WORK namespace that will persist on the page until either you delete the table or you run a cleanUp method. By default jSchema will be case sensitive. This can be overwritten with:
```JavaScript
var s = new jSchema({
"caseSensitive": false
});
```## Demo
A complete working demo of how to load tables, join tables, and aggregate tables can be found in the repository in the demo folder. A live demo can be found on the libraries homepage: [live demo](http://resurgencewebdesign.com/refugee/)
## How to Use
### NPM
If you use npm, `npm install jschema`.### requirejs
jschema.js uses requirejs to modularly load the library and is included in the package.json. requirejs can be moved to the lib directory of your project and included as:```html