Business intelligence, data exploration and visualization web application for Druid, formerly know as Swiv and Pivot
Clone or download
#236 Compare This branch is 169 commits ahead of pguzik:master.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets Look&Feel changed into Allegro colour scheme. (#26) Feb 12, 2018
bin Allegro copyright added to the source files. (#63) Mar 9, 2018
config Extract common config for Webpack (#141) Jul 24, 2018
docs Feature/lower is better measure (#204) Oct 26, 2018
lib tslint and sasslint configured and enabled (#64) Mar 13, 2018
resources Look&Feel changed into Allegro colour scheme. (#26) Feb 12, 2018
src hide DruidQueryMenu when cluster type is native (#246) Dec 3, 2018
test Feature/measure formatters (#229) Nov 23, 2018
.gitignore Plywood upgrade to 0.17.26 (#17) Feb 7, 2018
.npmignore Dimension and measure groups (#122) May 23, 2018
.npmrc fix vulnerabilities in deps (#148) Jul 30, 2018
.release-it.json Added relative time filter labels (#67) Mar 14, 2018
.sass-lint.yml Feature/rich data cube presentation (#149) Aug 7, 2018
.travis.yml tslint and sasslint configured and enabled (#64) Mar 13, 2018
CONTRIBUTING.md Rename pivot to swiv Nov 23, 2016
LICENSE Documentation cleanup (#45) Feb 19, 2018
NOTICE Update NOTICE Mar 28, 2018
README.md Use specific nodejs version. Dec 12, 2018
config-examples.yaml Correctly parse "see more" horizontal line in data cube description a… Aug 16, 2018
package-lock.json Release 1.10.0 Dec 3, 2018
package.json Release 1.10.0 Dec 3, 2018
tsconfig.json Additional view definition abstraction and new url version (#93) Apr 18, 2018
tslint.json TSLint configuration and reformating (#127) Jun 8, 2018

README.md

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.
  • Self-describing reports for users without deep domain expertise.
  • 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.
  • Support for most recent versions of standards compliant browsers.

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

⚠️ Do not use yarn command for dependency managment and project build, use npm instead. With npm builds are reproducible (thanks to package-lock.json) and even faster than with yarn.

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.