0.0.6 • Published 7 years ago

spot-framework v0.0.6

Weekly downloads
3
License
Apache-2.0
Repository
github
Last release
7 years ago

SPOT - extensible facet browser

DOI Build Status Codacy Badge Codacy Badge js-semistandard-style

Preview

Quick note on privacy

What is SPOT?

SPOT is an open science platform on which researchers can visually analyze and compare the datasets from published scientific journal articles. It is also a visual data analytics tool for multi-dimensional datasets. SPOT allows researchers to recreate representations (plots) in the publications and do more exploration. In this way, static plots in the publications become interactive and researcher can look at the data from different angle. The interactive dashboards for the quick analysis of datasets and easy identification of correlations between variables can be done in only a few clicks. The tool was initially developed for the iDARK project, which aimed to combine and visualize the worldwide data within the most general models of dark matter. The published datasets in this research project are being collected at www.idarksurvey.com. SPOT was designed as a generic tool in order to extend and reuse it in other disciplines than physics. It is quick and responsive, even for data sets containing huge number of records.

More details about SPOT can be foun at https://research-software.nl/software/spot

How to run it

Make sure you have git installed on your system.

Prerequisites for running SPOT as stand-alone website using crossfilter:

  1. follow the instructions to install node.js:
  2. clone this repository:
    git clone https://github.com/NLeSC/spot.git && cd spot
  3. install dependencies:
    npm install
    Note: some dependencies may require node-gyp. If you get errors during compilation of this package, you may need to install following packages on Ubuntu system or equivalent packages for your distribution.
    sudo apt-get install -y build-essential python libpq-dev
  4. Create .env file using .env.sample and adjust the settings if necassary
  5. start the web the application
    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.

Using Docker (tested on Linux)

  • Get the latest Docker image
docker pull nlesc/spot:latest
  • Alternatively, you can build the Docker image yourself

    docker build --network=host -t nlesc/spot .
  • Run SPOT in a container

docker run --rm --net=host -ti -p "9966:9966" nlesc/spot

If you want to run it using custom settings in .env file:

docker run --rm --net=host -ti -v $(pwd)/.env:/app/.env  -p "80:80" spot

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, you need to clone the spot-server repository and follow the instructions in the README. In general, these are the steps to follow:

  1. make sure that PostreSQL service is runnning.

  2. upload your data to the database with the spot-import.js script

  3. run the SPOT-server with the spot-server.js script

Zenodo Integration

  • Create a Zenodo account. The saved enries cannot be removed from Zenodo. If you are experimenting, you can use https://sandbox.zenodo.org/.
  • Create a new application token at this link
    • Select:
      • deposit:actions
      • deposit:write
  • Add the generated token to .env file
    • Example: ZENODO_TOKEN=JrpvdciCvlQxl8ByT0DY3HcNrsRMPNTp6ZRuucEusE4bmafP0VuXXhWHi22z

Desktop version

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

Documentation

SPOT api documentation can be found here.

Credits

Jisk Attema, Faruk Diblen the Netherlands eScience Center