/wizz-vis

Analytics platform for time series metrics using Druid. Create dashboards and share with other users.

Primary LanguageRubyApache License 2.0Apache-2.0

Wizz-Vis

wizzie-io CircleCI codebeat badge GitHub release License

Wizz-Vis is an analytics platform for time series metrics using Druid. Create dashboards and share with other users.

Wizz-Vis is the web inteface used by Wizzie Data Platform (WDP).

Docs | Website | Twitter

screenshot_1

screenshot_2

Documentation

Comming soon! Stay tunned.

Development

Using Docker Compose

We have available a docker-compose to deploy all the services necessary for the development environment.

Depending on your OS, there are different ways of installing Docker and Docker Compose. Please, visit https://docs.docker.com/compose/install/

Once you have Docker Compose installed, follow the below steps:

  1. Clone the repository and enter de directory.
git clone git@github.com:wizzie-io/wizz-vis.git
cd wizz-vis/
  1. Modify the .env file or create an new one (.env.local) and reference it in the docker-compose.yml file. You have to set, at least, the DRUID_URL value. Then, execute the docker compose and start all the services.
docker-compose up -d
  1. You can check the status of the containers executing:
docker-compose ps
  1. From now, you can play with the code, and the changes will be hot reloaded.

Develop from scratch

If you prefer, you can execute the rails server directly on your host. You may have access to a Postgres and Redis database. Also, like the way of using Docker Compose, you should have access to a Druid data store.

First of all, you have to install the requirements:

  • Ruby 2.5.0
  • Node.js 8.x
  • Yarn 1.9.4+

If you have every requirement ready, let's install some other dependencies and clone Wizz-Vis and start hacking:

gem install bundler rake

git clone git@github.com:wizzie-io/wizz-vis.git
cd wizz-vis/
bundle install

Create a new .env.local file and override the required env variables referenced at .env file.

Install the node packages dependencies.

yarn install

Create the PostgreSQL database.

bundle exec rake db:create db:migrate

Launch Wizz-Vis using Foreman

foreman start -f Procfile.dev -e .env,.env.local

Testing

  1. Set up your development environment as per above.
  2. Run rake to execute the full test suite.

Built With

  • Ruby on Rails - Our back-end is a Rails app.
  • React.js - Our front-end mainly use React to build our amazing dashboards.
  • PostgreSQL - Our main data store is in Postgres.
  • Redis - We use Redis as a cache and for transient data.
  • Druid - We use Druid as a data store and use its API to make the queries.

Also, a lots of Ruby Gems are used. You can find them at /master/Gemfile.

Contribute

If you have any idea for an improvement or found a bug, please open an issue. But, if you prefer, you can clone this repo and submit a pull request, helping us make Wizz-Vis a better product.

License

Wizz-Vis is distributed under Apache 2.0 License.