data-leaf
v0.5.0
Published
Dynamic data sharing made simple
Downloads
4
Maintainers
Readme
:herb: Data Leaf
Dynamic data sharing made simple.
The Data Leaf app allows users to share results of SQL queries by associating them with a URL that can be easily shared and embedded into reports, spreadsheet and dashboards. When the URL is requested, the query is executed and results returned in CSV format.
- The Data Leaf URL can be embedded into Excel and Google Sheets
- Lightweight interface
- Supports Postgres and MySQL targets
- Individual user accounts
- Duplicate & Edit Leaf definitions for quick customization
- The Data Leaf URL contains only the domain name and ID of the Leaf definition
Tech
Data Leaf uses a number of open source projects to work properly:
- AngularJS - HTML enhanced for web apps!
- Bootstrap - great UI boilerplate for modern web apps
- node.js - evented I/O for the backend
- Express - fast node.js network app framework
- node-dbi - Database package wrapper to support multiple RDBMS engines
- MongoDB - JSON document data store
- ngclipboard - Easy Angular access to the clipboard for copying the Data Leaf URL
- mongoose - ORM for node access to MongoDB
- mongoose-encryption - encrypt documents/fields in MongoDB on the fly
- Passport - For local user account support, authentication, and OAUTH support
- angular-better-placeholders - Maintains better placeholder visibility
Supplemental Tech worth mentioning:
- npm - Node package manager
- bower - Client package manager
- connect-flash - Passport/Express access to browser Flash area
- jQuery - for Bootstrap support only
- pg - Node Postgres driver, required by node-dbi
- mysql - Node MySQL driver, required by node-dbi
- ejs - Express rendering engine
- npm-check-updates - Node package updater
- nodemon - Node runner with automatic restarts
Installation
Prerequisites:
Node NPM Bower MongoDB
Install package
$ npm install data-leaf
Set ENV variable for document encryption secret key <— Do NOT lose this key
$ export SK=someUnguessableString
Start the server
$ cd data-leaf
$ node server.js
Use the app http://localhost:3000
Todos
- Move MongoDB credentials to env-specific config file
- Add timeout for blocked/hung SQL requests
- Add/test Google OATH strategy via Passport
- Dynamic Passport strategies on login/register pages
Special Thanks
- Cloud9 - Online IDE
License
MIT