0.5.0 ā€¢ Published 8 years ago

data-leaf v0.5.0

Weekly downloads
6
License
MIT
Repository
github
Last release
8 years ago

: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

License

MIT