/vizabi

Gapminder Vizabi is our framework for developing data visualizations

Primary LanguageJavaScriptOtherNOASSERTION

Gapminder Vizabi 0.4

Welcome to the vizabi repository!

(Please note that current version of Vizabi is still a work in progress, and Vizabi 1.0.0 will be the public release of the framework). Build Status

####What is Vizabi? Gapminder Vizabi is our framework for developing data visualizations supporting mobile devices, responsiveness, localization, embedding support and unified data schema. You can use Vizabi to create a new visualization based on your data or modify our set of vizualization tools.

####Can I see it in action? Yes. See our example pages here: Vizabi Examples. If you want to check out even more examples, check our Vizabi Examples Repo.

Where can I find full documentation?

See our WIKI for detailed documentation: Vizabi WIKI

####Javascript Statis Analysis Visualization Plato's static code analysis of version 0.4 can be found here: Vizabi Plato .

QuickStart

Note: You can watch the screencast on [How to Get Started with Vizabi] (http://vimeo.com/107568568).

####Cloning In order to run vizabi locally, clone it:

git clone http://github.com/Gapminder/vizabi
cd vizabi

####Dependencies Vizabi depends on Npm, Bower and Grunt.

Npm is a package manager for Nodejs and therefore requires Node.js to be installed. Here is a tutorial to install Node: Installing Node.js via Package Managers.

Bower is a package manager and you can install it with npm:

$ sudo npm install -g bower

Grunt is the Javascript task runner and can also be installed with npm:

$ sudo npm install -g grunt-cli

Ruby and Ruby Gems are needed for building Vizabi. Here you can find tutorial to install Ruby and Rubygems:

SASS

sudo gem install sass

Now that you have all Vizabi's dependencies in place, you can install Vizabi.

####Installing Go to Vizabi directory and run the following commands in the terminal:

npm install
bower install

Note: You may need to run npm install with sudo.

####Running and Developing We use grunt to build Vizabi. You can run Vizabi for Development or Production: grunt [dev|build].

In order to run the project in development mode, type the following:

grunt dev

With this, Grunt will automatically start a local server and open the example pages in your browser at http://localhost:9000/. You can see the list of data visualization examples . Vizabi support Grunt tasks such as watch, copy to ease development in this mode.

In order to build the project, type the following:

grunt build

You can find the build output under dist/.

Contribution

The following list provides some parts that Vizabi will benefit from your contribution:

  • Unit Testing: Write Unit Tests for Vizabi. The priority is with base classes, of course.
  • Tools & Components: Create More tools for Vizabi. D3js gallery has inspiring examples: [https://github.com/mbostock/d3/wiki/Gallery](D3 Gallery)
  • Styles: Contribute to Vizabi by enhancing the user experience.

License

The source code is released under the BSD open source license.

  BSD LICENSE

  Copyright (c) 2012, Gapminder Foundation

  All rights reserved.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions are met:
      * Redistributions of source code must retain the above copyright
        notice, this list of conditions and the following disclaimer.
      * Redistributions in binary form must reproduce the above copyright
        notice, this list of conditions and the following disclaimer in the
        documentation and/or other materials provided with the distribution.
      * Neither the name of the Gapminder Foundation nor the
        names of its contributors may be used to endorse or promote products
        derived from this software without specific prior written permission.
  
  THIS SOFTWARE IS PROVIDED BY the Gapminder Foundation ''AS IS'' AND ANY
  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL Gapminder Foundation BE LIABLE FOR ANY
  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.