spot-framework

Spot: an extensible facet browser. Easily, interactively and quickly visualize complex data.


Keywords
visualization, crossfilter, multi-dimensional, cross-platform, javascript, spot, web-app
License
Apache-2.0
Install
npm install spot-framework@0.0.6

Documentation

Spot - extensible facet browser

Build Status Codacy Badge Codacy Badge js-semistandard-style

How to run it

As a fully stand-alone website, using crossfilter:

  1. download and install node.js
  2. clone this repository:
    git clone https://github.com/NLeSC/spot.git && cd spot
  3. install dependencies:
    npm install
  4. generate page templates:
    npm run templates
  5. start the web server
    npm start
  6. open http://localhost:9966 in a web browser

Building the website is only tested on Linux, but it should work on any OS (Mac OS X for example) that is supported by node and npm.

Hosting the site can be done by any webserver.

Make sure that Javascript is enabled in your web browser. SPOT is fully functional in Google Chrome and Chromium web browsers and it should work in other web browsers. Otherwise, please submit an issue.

SQL Database

Spot can also work with a PostgreSQL database, but this requires either a local or a remote service to run. Commutication between the client and the database server is achieved by using web socket.

In order to use SPOT with a PostreSQL server:

  1. make sure that PostreSQL service is runnning.

  2. upload your data to the database:

    node ./server/spot-import.js -c 'postgres://USER@localhost/DATABASE' \
    -t 'data_table' \
    -s 'session_file.json' \
    -u 'http://URL' \
    -d 'Dataset description' \
    --csv -f 'test_data.csv'

    run following command to see available options:

    node server/spot-import.js --help
  3. run the SPOT-server which allows client to connect to the PostreSQL database:

    node server/spot-server.js -c 'connection_string'

    the connection_string format should be:

    postgres://USER@localhost/DATABASE -s session_file.json

    run following command to see available options:

    node server/spot-server.js --help

You can get a bit more performance using the native PostgreSQL bindings (turned off by default to make travisCI easier). Just install the pg-native package: bash npm install pg-native This in only tested on linux, could work on other OSs.

More information about databases can be found here.

Desktop version

Desktop version of SPOT is still under development. Available downloads can be found here.

Credits

Jisk Attema, the Netherlands eScience Center

Ampersand by folks at &yet Get the book: http://humanjavascript.com