Nth Permutation Mathematics

    turnilo

    1.33.0 • Public • Published

    Turnilo

    npm version build status

    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 an example with Covid-19 and Wikipedia datasets and open http://localhost:9090/.

    turnilo --examples
    

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

    turnilo --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 Covid-19 and Wikipedia examples.

    npm run start:examples
    

    Connect to the existing Druid broker.

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

    Connect to the existing Druid broker using your config file.

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

    Run project in developer mode

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

    Run Covid-19 and Wikipedia examples.

    npm run start:dev:examples
    

    Connect to the existing Druid broker.

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

    Connect to the existing Druid broker using your config file.

    npm run start:dev -- --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 docs directory.

    cd docs
    

    Install dependencies.

    bundle install 
    

    Run your Jekyll site locally and open http://localhost:4000/

    bundle exec jekyll serve --incremental
    

    License

    Turnilo is published under Apache License 2.0.

    Install

    npm i turnilo

    DownloadsWeekly Downloads

    152

    Version

    1.33.0

    License

    Apache-2.0

    Unpacked Size

    78.6 MB

    Total Files

    202

    Last publish

    Collaborators

    • allegrotech