Business intelligence, data exploration and visualization web application for Druid, formerly known as Swiv and Pivot
Business intelligence, data exploration and visualization web application for Druid, formerly known as Swiv and Pivot
[!WARNING] This project is archived and no longer maintained.
Allegro no longer uses Turnilo internally and is stepping back from its development. The repository is now read-only: there will be no further releases, bug fixes, or support, and issues and pull requests are no longer being reviewed or merged.
Thank you to everyone who contributed code, reported issues, shared ideas, and used Turnilo over the years. This project would not have been what it is without you.
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.
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.
You can try an online demo with example datasets (Covid-19 and Wikipedia) at https://turnilo.app.
Feel free to ask on GitHub Discussions or join the chat on Slack.
:warning:
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.
Install Turnilo distribution using npm.
npm install -g turniloStart off by running Turnilo with example datasets and open http://localhost:9090/.
turnilo run-examplesUse 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]Learn how to configure and customize Turnilo: https://allegro.github.io/turnilo/
npm installnpm run buildRun example datasets.
npm run start:examplesConnect 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.ymlEvery change in frontend code would recompile project and reload page.
Run example datasets.
npm run start:dev:examplesConnect 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.ymlRun all unit tests.
npm run testOr run tests separately for common, client and server modules.
npm run test:common
npm run test:client
npm run test:serverRun all e2e tests. It will start Turnilo with example datasets in background.
npm run e2eRun server
npm start:dev:examplesRun cypress interactive tools for e2e testing
npm run e2e:devIn 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
Go to the docs folder and:
bundle install or update bundle update dependenciesbundle exec jekyll serve --livereloadTurnilo is published under Apache License 2.0.
No open issues yet, or sync has not completed.