Giter Club home page Giter Club logo

turnilo's Introduction

Turnilo

npm version build status

Turnilo is a business intelligence, data exploration and visualization web application for Druid. Turnilo is a fork of Pivot which is currently available under commercial licence only. This repository was forked from the stalled repository Swiv with the latest version of Pivot under Apache license.

Motivation

Druid is heavily used as business intelligence platform at Allegro. In order to gain wide adoption of non-technical users, Druid requires simple yet powerful user interface. In Allegro we have decided that we are going to continue Pivot development as an open source software, this is how Turnilo emerged.

Manifesto

  • High usability for non-technical users over sophisticated but rarely used features.
  • Focus on interactive data exploration over static predefined dashboards.
  • Outstanding integration with Druid over support for other data sources like SQL databases.
  • Focus on data visualizations over Druid cluster or data ingestion management.
  • Data cubes configuration as a code over UI editor backed by non-versioned database.
  • Stateless over stateful server-side architecture.

Features

  • Intuitive, drag and drop, gorgeous user interface to visualize Druid datasets
  • Fully dedicated to low latency Druid Timeseries, TopN and GroupBy queries.
  • Unified view for historical and real-time data
  • Blazingly fast

Turnilo UI

Pre-requisites

Usage

Install Turnilo distribution using npm.

npm install -g turnilo

Start off by running an example with Wikipedia page editions dataset and open http://localhost:9090/.

turnilo --examples

Or connect to the existing Druid cluster using --druid command line option. Turnilo will automatically introspect your Druid cluster and figure out available datasets.

turnilo --druid broker_host:broker_port

Documentation

Development

Install project dependencies.

npm install

Build the project.

npm run build:dev

Run Wikipedia examples.

npm run start:dev -- --examples

Connect to the existing Druid cluster.

npm run start:dev -- --druid broker_host:broker_port

Testing

Run all unit tests.

npm run test

Or run tests separately for common, client and server modules.

npm run test:common
npm run test:client
npm run test:server

Debugging

Client module

In WebStorm\IntelliJ open "Run/Debug Configurations", click "Add New Configuration". Next choose "JavaScript Debug" and set URL property to "localhost:9090".

You can find more information here

Server module

In WebStorm\IntelliJ open "Run/Debug Configurations", click "Add New Configuration". Next choose "Node.JS", set "JavaScript file" to "./bin/turnilo" and "Application parameters" to "--examples".

You can find more infrmation here

License

Turnilo is published under Apache License 2.0.

turnilo's People

Contributors

vogievetsky avatar asherbitter avatar evasomething avatar lorem--ipsum avatar piter75 avatar rafalnowak avatar cheddar avatar mkuthan avatar tomrzeznik avatar fjy avatar allegrogroup avatar joshwalters avatar bartoszwalacik avatar hollow avatar gianm avatar djfwan avatar typpo avatar pjain1 avatar monitorjbl avatar

Watchers

mdeora avatar James Cloos 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.