hortonworks/polestar

Name: polestar

Owner: Hortonworks Inc

Description: null

Created: 2015-12-02 20:34:50.0

Updated: 2015-12-03 06:44:43.0

Pushed: 2015-12-03 07:22:57.0

Homepage: null

Size: 6468

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Pole? (Polestar) – Alpha

Build Status

PoleStar is Tableau-style User Interface for visual analysis, building on top of Vega-lite. Try our online demo. Also, be sure to check out related projects.

This project is an alpha software. We are working on improving its code and documentation.

If you are using Polestar for your project(s), please let us know what are you using it for by emailing us at Vega-lite [at] cs.washington.edu. Feedbacks are also welcomed. If you find a bug or have a feature request, please create an issue.

Team

Polestar's development is led by Dominik Moritz, Kanit Wongsuphasawat, and Jeffrey Heer at the University of Washington Interactive Data Lab, in collaboration with UW eScience Institute and Tableau Research

Setup Instruction
Install Dependencies

Make sure you have node.js. (We recommend using homebrew and simply run brew install node.)

Install gulp + bower globally by running

install -g bower
install -g gulp

Then install all the npm, bower dependencies:

install
r install

Now you should have all dependencies and should be ready to work.

Running

You can run gulp serve, which serves the site as well as running tests in the background. If you edit any file, our gulp task runner should automatically refresh the browser and re-run tests.

Development Guide
Folder Structure

We try to follow Google's Angular Best Practice for Angular App Structure and use generator-gulp-angular to setup the project.

All source code are under src/

@kanitw created gulp/gen.js for help generating angular components. For example, you can run gulp gen -d directiveName and this would create all relevant files including the javascript file, the template file, the stylesheet file and the test spec.

Coding Style

We use jshint as our linter for coding in the project.

Stylesheets

We use sass as it is a better syntax for css.

Dependencies

This project depends on Datalib for data processing, Vega-lite as a formal model for visualization, and Vega-lite-ui, which contains shared components between Polestar and Voyager.

If you plan to make changes to these dependencies and observe the changes without publishing / copying compiled libraries all the time, use bower link.

In each of your dependency repository, run

ath/to/dependency-repo
r link

Then go to this project's directory and run

r link datalib
r link vega-lite
r link vega-lite-ui

Now all the changes you make in each repo will be reflected in your Vega-lite automatically.

Since bower uses the compiled main file, make sure that each repos is compiled everytime you run gulp serve. Otherwise, you will get errors for missing libraries.

Releasing / Github Pages

gh-pages branch is for releasing a stable version. gh-pages should only contain the dist folder.

Use publish.sh to:

  1. publish the current version to npm
  2. deploy the current branch to gh-pages and
  3. create a release tag for github and bower.
Acknowledgement

We used generator-gulp-angular for bootstraping our project.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.