Coder Social home page Coder Social logo

hs41-18 / turnilo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from allegro/turnilo

0.0 0.0 0.0 71.07 MB

Business intelligence, data exploration and visualization web application for Druid, formerly known as Swiv and Pivot

Home Page: https://allegro.github.io/turnilo/

License: Apache License 2.0

JavaScript 0.44% TypeScript 91.38% CSS 0.01% Dockerfile 0.04% SCSS 8.13%

turnilo's Introduction

Turnilo

npm version build status Join our Slack chat

Turnilo is a business intelligence, data exploration and visualization web application for Apache 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

Try it!

You can try an online demo with example datasets (Covid-19 and Wikipedia) at https://turnilo.app.

Join us!

Feel free to ask on GitHub Discussions or join the chat on Slack.

Pre-requisites

โš ๏ธ Do not use yarn command for dependency management 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 Turnilo with example datasets and open http://localhost:9090/.

turnilo run-examples

Use connect-druid command to connect to the existing Druid broker. Turnilo will automatically introspect your Druid broker and figure out available datasets.

turnilo connect-druid http[s]://druid-broker-hostname[:port]

Documentation

Learn how to configure and customize Turnilo: https://allegro.github.io/turnilo/

Development

Install project dependencies.

npm install

Build the project.

npm run build

Run project

Run example datasets.

npm run start:examples

Connect to the existing Druid broker.

npm run start -- connect-druid http[s]://druid-broker-hostname[:port]

Connect to the existing Druid broker using your config file.

npm run start -- run-config path/to/config.yml

Run project in developer mode

Every change in frontend code would recompile project and reload page.

Run example datasets.

npm run start:dev:examples

Connect to the existing Druid broker.

npm run start:dev -- connect-druid http[s]://druid-broker-hostname[:port]

Connect to the existing Druid broker using your config file.

npm run start:dev -- run-config path/to/config.yml

Testing

Unit tests

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

End to end tests

Run all e2e tests. It will start Turnilo with example datasets in background.

npm run e2e

End to end tests development

Run server

npm start:dev:examples

Run cypress interactive tools for e2e testing

npm run e2e:dev

Debugging

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

Generating documentation locally

Prerequisites

Go to the docs folder and:

  1. Install bundle install or update bundle update dependencies
  2. Run bundle exec jekyll serve --livereload
  3. Open http://localhost:4000/

License

Turnilo is published under Apache License 2.0.

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.