Turandot Business Intelligence

Turandot is a minimalistic business intelligence server. It connects to an SQL database (currently PostgreSQL only) and uses SQL queries to render charts on a simple web interface.

Configuration is done by command line parameters only. There are only two flags necessary to get it running: one for defining the database file, where reports are stored, and a database connection string.

An active internet connection is required to load bootstrap, font-awesome, underscore.js and chart.js in the web interface.

Usage

./turandot --store=/path/to/store.db --pq="password=x"
           [--listen=127.0.0.1:9999]
           [--syslog [--syslog-name=turandot]]

Required:
    --store <path-to-db>   Database file.
    --pq <libpq-str>       PostgreSQL connection string in libpq format

Optional:
    --listen <addr:port>   address/port for HTTP server (default: 127.0.0.1:9999)
    --syslog               log to local syslog instead of stdout
    --syslog-name          syslog identifier (default: turandot)

Reports

Queries are saved in so called reports. There are 3 types:

Security

Turandot is a simple but powerful tool - it executes arbitrary SQL: Use a read-only user for connecting to your production database.

There also is no authentication mechanism built-in. You have to restrict access yourself.

All queries are internally wrapped into a simple SELECT * FROM (<your-query>) LIMIT 128 to prevent returning millions of rows by accident.

Download

Binaries can be downloaded from this site. I cannot release source code at this point.

Screenshots

A progress report

A progress report

A ratio report

A ratio report

A table report

A table report

The SQL report editor

The SQL report editor