Make Your Company Data Driven. Connect to any data source, easily visualize, dashboard and share your data.
Go to file
2013-10-30 17:11:00 +02:00
rd_service Fix: when query had unicode characters it was failling to execute 2013-10-30 17:11:00 +02:00
rd_ui Fix #18: don't retrieve query results when already have them & ttl = -1. 2013-10-30 16:43:24 +02:00
.gitignore Add dist folder to gitignore 2013-10-30 12:33:36 +02:00
LICENSE Updated README & License file 2013-10-28 15:18:13 +02:00
README.md Add getting started instructions. 2013-10-30 13:10:16 +02:00

re:dash

re:dash is our take on freeing the data within our company in a way that will better fit our culture and usage patterns.

Prior to re:dash, we tried to use tranditional BI suites and discovered a set of bloated, technically challenged and slow tools/flows. What we were looking for was a more hacker'ish way to look at data, so we built one.

re:dash was built to allow fast and easy access to billions of records, that we process and collect using Amazon Redshift ("petabyte scale data warehouse" that "speaks" PostgreSQL).

re:dash consists of two parts:

  1. Query Editor: think of JS Fiddle for SQL queries. It's your way to share data in the organization in an open way, by sharing both the dataset and the query that generated it. This way everyone can peer review not only the resulting dataset but also the process that generated it. Also it's possible to fork it and generate new datasets and reach new insights.
  2. Dashboards/Visualizations: once you have a dataset, you can create different visualizations out of it, and then combine several visualizations into a single dashboard. Currently it supports bar charts, pivot table and cohorts.

This is the first release, which is more than usable but still has its rough edges and way to go to fulfill its full potential. The Query Editor part is quite solid, but the visualizations need more work to enrich them and to make them more user friendly.

Demo

Screenshots

You can try out the demo instance: http://rd-demo.herokuapp.com/ (login with any Google account).

Due to Heroku dev plan limits, it has a small database of flights (see schema here). Also due to another Heroku limitation, it is running with the regular user, hence you can DELETE or INSERT data/tables. Please be nice and don't do this.

Technology

PostgreSQL is used both as the operatinal database for the system, but also as the data store that is being queried. To be exact, we built this system to use on top of Amazon's Redshift, which supports the PG driver. But it's quite simple to add support for other datastores, and we do plan to do so.

This is our first large scale AngularJS project, and we learned a lot during the development of it. There are still things we need to iron out, and comments on the way we use AngularJS are more than welcome (and pull requests just as well).

HighCharts

HighCharts is really great, but it's not free for commercial use. Please refer to their licensing options, to see what applies for your use.

It's very likely that in the future we will switch to D3.js instead.

Getting Started

  1. Clone the repo:
git clone git@github.com:EverythingMe/redash.git
  1. Create settings file from the example one (& update relevant settings):
cp rd_service/settings_example.py rd_service/settings.py

It's highly recommended that the user you use to connect to the data database (the one you query) is read-only.

  1. Install npm packages (mainly: Bower & Grunt):
cd rd_ui
npm install
  1. Install bower packages:
bower install
  1. Build the UI:
grunt build
  1. Start the API server:
cd ../rd_service
python server.py
  1. Start the workers:
python cli.py worker
  1. Open http://localhost:8888/ and query away.

Roadmap

We plan to release new minor version every 2-3 weeks. Of course, if we get additional help from contributors it will help speed things up.

Below you can see the "big" features of the next 3 releases (for full list, click on the link):

v0.2

  • Ability to generate multiple visualizations for a single query (dataset) in a more flexible way than today. Also easier extensbility points to add additional visualizations.
  • Dashboard filters: ability to filter/slice the data you see in a single dashboard using filters (date or selectors).
  • UI Improvements (better notifications & flows, improved queries page)
  • Comments on queries.

v0.3

  • Support for API access using API keys, instead of Google Login.
  • Multiple databases support (including other database type than PostgreSQL).
  • Scheduled reports by email.

v0.4

  • Query versioning.
  • More "realtime" UI (using websockets).
  • More visualizations.

Reporting Bugs and Contributing Code

  • Want to report a bug or request a feature? Please open an issue.
  • Want to help us build re:dash? Fork the project and make a pull request. We need all the help we can get!

License

See LICENSE file.