Giter VIP home page Giter VIP logo

slamdata's Introduction

SlamData

Open source NoSQL analytics

Build Status Stories in Ready

The front-end for SlamEngine.

Table of Contents

Installation

The easiest way to get started with SlamData is to download the pre-built installers from SlamData.

If you are looking for a smaller footprint and don't mind a bit more set up work, the latest pre-built node-webkit version is available in the releases. To use the releases version, you will need to set up two config files: one for SlamEngine and one for SlamData.

Configuration

Config Directory

In order for this configurations to take effect, they MUST be saved in platform specific locations with the names slamdata-config.json and slamengine-config.json for the SlamData and SlamEngine configurations, respectively.

Linux

If you're set up with XDG Base Directory: $XDG_CONFIG_HOME/slamdata

If not: $HOME/.config/slamdata.

OSX

$HOME/Library/Application Support/slamdata

Windows

%LOCALAPPDATA%\slamdata (this is usually C:\Users\<your user name>\AppData\Local\slamdata)

SlamData Config

The SlamData configuration is a JSON file with a couple of required fields. Everything else is ignored.

nodeWebkit
{java :: String}

The field nodeWebkit is a JSON object with one field: java. This should be absolute string path to a java 7 binary.

SlamEngine requires java 7 in order to run properly. A jre version is included in the pre-built installers and the releases as a convenience.

E.g. /usr/bin/java, C:\Program Files (x86)\java\bin\java.exe, or using the pre-built windows installer C:\Program Files (x86)\slamdata-0.1.0\jre\bin\java.exe.

server
{location :: String, port :: Number}

The field server is a JSON object with two fields: location and port. This should point to the location of SlamEngine you'd like to connect to.

If you're running this locally, you'll probably want these to be http://localhost and 8080 for server and port respectively.

An example configuration is shown below:

{
  "nodeWebkit": {
    "java": "/usr/bin/java"
  },
  "server": {
    "location": "http://localhost",
    "port": 8080
  }
}

SlamEngine Config

Please see the documentation for this config file here

Development

We use a few tools to develop SlamData. The main source code is written with PureScript, which is an altjs language, so it compiles to JavaScript. Most of the dependencies are resolved with Bower (though some still require npm). The native client uses node-webkit in order to provide a standalone version of SlamData.

In order to develop you'll need to install some things first:

  1. Node.js Any way you can install this is fine, you we only develop on version 10.x.
  2. Bower After you have node installed and can run npm from the terminal, this can be installed with npm install -g bower.
  3. Gulp We use gulp as our main task runner. After node is installed, this can be installed with npm install -g gulp.
  4. PureScript If you're on a 64-bit version of linux, you can most likely use the releases available here. Otherwise, you'll have to build it from source. For more information, please see purescript-installing.
  5. Wine We use wine for specifically one reason, in order to replace the windows icon for the node-webkit version. It's an unfortunate dependency, but there doesn't seem to be any way around it. This should be available in most linux repos or installation instructions can be found here. For OSX see these instructions here N.B. Wine is only necessary if you're developing on windows or you want to build the node webkit version for windows.
  6. Once everything is installed, verify the tests pass with npm test. Assuming the tests all pass you're ready to start developing.

slamdata's People

Contributors

joneshf avatar jdegoes avatar mossprescott avatar waffle-iron avatar

Watchers

James Cloos avatar narayanareddy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.