Skip to content

Dashboard for analyzing and visualizing software artifacts' data scanned with jQAssistant and stored in a Neo4j graph database.

License

Notifications You must be signed in to change notification settings

mrchtr/jqa-dashboard

 
 

Repository files navigation

Software Analysis and Visualization Dashboard

GitHub license build status codecov code style: prettier

A web-based dashboard for software analysis and visualization using software artifacts' data scanned by jQAssistant. This screencast shows how to scan, analyze, and visualize software artifacts' data with the open source stack (jQAssistant, Neo4j, React, D3).

Demo

Interactively explore jUnit in this online demo of the dashboard.

Prerequisites

The dashboard requires a Neo4j database where the information of the software to be analyzed has been imported with jQAssistant. There are three possibilities how to achieve this.

  1. You can use jQAssistant to extract the data of your software project as described here. After successful extraction, the data has to be enriched with the concepts in jqa-dashboard/data/jqassistant. Therefore, copy this folder in your project root and run $ mvn jqassistant:analyze. Then you can start the Neo4j database with $ mvn jqassistant:server. The dashboard uses the bolt driver to connect to the database (bolt://localhost, port 7687). You can change the default connection settings on the settings page of the dashboard.
  2. Alternatively, you can use one of the pre-built Docker images containing a Neo4j server with sample data (spring-petclinic or jUnit) as described below.
  3. Or you import the dumps provided in the data directory directly into your Neo4j database with $ neo4j-admin load --from=<path-to-neo4j-dump> [--force=true].

Installation

Clone the repository and execute the following command.

$ npm run install-dashboard

After installation you can run the dashboard by executing this command.

$ npm run dashboard

Update

For updating all packages and dependencies after running git pull you can execute this command.

$ npm run update-dashboard

Docker

Dashboard

The dashboard can also be run via Docker. Therefore, you can use these pre-built Docker images.

$ docker run --env PORT=3000 -it visualsoftwareanalytics/jqa-dashboard:dashboard

Data

If needed, you can use one of these commands to additionally run a Neo4j server with sample data already loaded.

$ docker run -it -p 7474:7474 -p 7687:7687 visualsoftwareanalytics/jqa-dashboard:neo4j-junit

or

$ docker run -it -p 7474:7474 -p 7687:7687 visualsoftwareanalytics/jqa-dashboard:neo4j-petclinic

Contributing

⇄ Pull requests and ★ Stars are always welcome. We kindly invite you to read the contributing guide to get started.

External Credits

Publications

A full list of publications you can find on our website.

About

Dashboard for analyzing and visualizing software artifacts' data scanned with jQAssistant and stored in a Neo4j graph database.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 53.0%
  • CSS 46.3%
  • Other 0.7%