Description

Zeppelin is a collaborative data analytics and visualization tool for distributed, general-purpose data processing systems such as Apache Spark and Apache Flink.

It has two main features:

This project is an improvement or a re-design of the Data Visualization Component.

Zeppelin front-end web application already have rich visualization library based on D3, but is not made to allow other libraries and charts.

The goal of this Google Summer of Code project is to make the visualization module pluggable in order to benefit from the wide range of existing visualization libraries.

Mentors

Unknown User (corneadoug)

BEZZUBOV Alexander

Student

UDANTHA Madhuka

JIRA Issues

 

Original GSOC Issue
Feature Issue

 

Documentation

 

Issue Milestones


 

Milestone-1June 1st - June 5th
Milestone-2June 5th - June 19th
Milestone-3June 19th - June 26th
Milestone-4June 26th - July 3rd
Milestone-5July 3rd - July 10th

 

 

 



Milestone-1

Description

This Milestone is to study different charting libraries and understand how we can make a pluggable system.

Since this milestone works as some POC, the source code will be found in the student public repository


Ressources

 

Repositoryhttps://github.com/Madhuka/apache-zeppelin-gsoc
Pull Requesthttps://github.com/Madhuka/apache-zeppelin-gsoc/pull/2

 

 

Feature List

 

Task List


Results

Use case:

 


 

Milestone-2

Description

This Milestone an update of previous Milestone. Instead of making the scope bigger, it was decided that it would be more beneficial to work on code quality.

Since this milestone works as some POC, the source code will be found in the student public repository

Ressources

 

Repositoryhttps://github.com/Madhuka/apache-zeppelin-gsoc
Pull Requesthttps://github.com/Madhuka/apache-zeppelin-gsoc/pull/3

 

 

Feature List

 

Task List

Change on UI:

Using Zeppelin Tools:

Improving Code:

Testing:

Git Flow Process

Architecture Improvements

Style

Results

Project is using grunt so you can test application from grunt test (Few test cases are developed)

It contains industrial standard plugins for grunt (clean, wiredep, concurrent, karma. etc.). Grunt serve will start the server

It will start app and open the home page as below

Now you can check milestone in the menu. You will have select the data set from click as button. Data set is store as csv file. D3 is used to read it.

 

 After you picked the 'Data Set' (Car or Bike), You can pick charting library then chart type as below


 

Milestone-3

Description

This Milestone will try to make the chart libraries totally pluggable (no hard coded configuration).

We also want to push the project to have more test and be an example when it comes to web testing.

Since this milestone works as some POC, the source code will be found in the student public repository

Ressources

 

Repositoryhttps://github.com/Madhuka/apache-zeppelin-gsoc
Pull Request

https://github.com/Madhuka/apache-zeppelin-gsoc/pull/5

https://github.com/Madhuka/apache-zeppelin-gsoc/pull/6

 

 

Feature List

 

Task List

Readme:

UI:

Bugs:

Code Style:


Html reduction:


Make code scalable for pluggable libraries:

Fix a few bad things:

Tests:

Results

20 Test Cases are written 'grunt test'

Updated UIs



Milestone-4

Description

Controller should work with any chart library and it should be abstracted. Therefore no library switches in Dev.  Writing the steps how to add new chart type (such as pie chart) and steps to be followed for adding a new chart library to application are main task for documentation. Since this milestone works as some POC, the source code will be found in the student public repository

Ressources

 

Repositoryhttps://github.com/Madhuka/apache-zeppelin-gsoc
Pull Requesthttps://github.com/Madhuka/apache-zeppelin-gsoc/pull/9

 

 

Feature List

 

Task List

Documentations

 

Fixes

 

Deployment

 

Test Cases:

 

Results

 


Milestone-5

Description

This is a temporary roadmap for milestone-5, the features might change in the future

This should be the milestone where we start a PR inside of Zeppelin repository

Ressources

 

Repository 
Pull Request 

 

 

Feature List

 

Task List

 

Results