vincentnam / docker_datalake

Datalake
Other
27 stars 11 forks source link

Create Web GUI Dashboard with React (with NodeJS backend) #7

Open vincentnam opened 3 years ago

vincentnam commented 3 years ago

Project description

https://github.com/vincentnam/docker_datalake/projects/12

Web GUI : The service area is composed of different services that should improve the user experience. One of the services is the Graphical user interface (GUI) in a web browser. The reasons of the choice of web technlogies are :

This GUI has several goals :

The GUI has been designed as a 1 page dashboard with 3 tabs : insert, download and visualize tab. The differents components have to be designed and implemented as a card (React / bootstrap concept : https://react-bootstrap.github.io/components/cards/) to make it possible to easily modify, compose and adapt tabs.

Languages : Javascripts, HTML / CSS Tools : react, nodeJS, d3.js, bootstrap

The dashboard should be a multi-tab page with user authentication based on Datalake central authentication tool (Openstack Keystone). The other tab should be available until the user is authenticated.

The insertion tab has to be easy to use to make it possible for people that doesn't know computing science to use the datalake. It has to integrate a drag'n'drop dropzone for files input. The data has to be qualified : technicals metadata should be inferred as much as possible but for metadata that couldn't or for semantical metadata, it should be possible to easily add it. As the project is in a great part a research project, it is linked to semantic web and ontologies and this insertion tab should integrate a way to easily insert this kind of data ( drag'n'drop tool for tags / label choice, classic form (dropdown menu)) that would generate a JSON document. The metadata should make it able to :

Data insertion tab :

Metadata form insertion :

The data visualization tab goal is to :

Data visualization :

Maybe not useful :

The data download page should make it possible with graphical tools to select a data / a dataset and download it on local host.

Data download page :

The project will be splitted in several big stages.

vincentnam commented 3 years ago

First stage :

The first stage goal is to create the base app for the GUI.

App architecture :

Insertion tab :

Visualization tab :

Basic visualization

Download tool :

vincentnam commented 3 years ago

Second stage :

The second stage goal is to upgrade features, design for the web GUI. One important feature is the implementation of drag'n'drop as much as possible.

App architecture :

Insertion tab

Download tab

vincentnam commented 3 years ago

Third stage :

The third stage goal is to finalize the application and develop new features.

App architecture :

Insertion tab

Download tab

vincentnam commented 3 years ago

Idea :