Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 2 months 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 (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-04-19T03:04:22.000Z (over 6 years ago)
- Last Synced: 2024-08-02T15:37:15.813Z (5 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
![logo](https://user-images.githubusercontent.com/5210420/32085476-48b25564-ba9d-11e7-8a6e-9e2df9cd5ed5.png)
## 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.![entity relationship diagram - new page 1](https://user-images.githubusercontent.com/5210420/32084304-50e6bdbc-ba96-11e7-92b8-cfab13866fe0.png)
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