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).
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.
- 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.
- 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.
- 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].
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
For updating all packages and dependencies after running git pull you can execute this command.
$ npm run update-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
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
$ docker run -it -p 7474:7474 -p 7687:7687 visualsoftwareanalytics/jqa-dashboard:neo4j-petclinic
⇄ Pull requests and ★ Stars are always welcome. We kindly invite you to read the contributing guide to get started.
- David Baum, Pascal Kovacs, Richard Müller: Fostering Collaboration of Academia and Industry by Open Source Software, SE20 Software Engineering, 2020.
- Richard Müller, Dirk Mahler, Michael Hunger, Jens Nerche, Markus Harrer: Towards an Open Source Stack to Create a Unified Data Source for Software Analysis and Visualization, 6th IEEE Working Conference on Software Visualization, 2018.
- Tino Mewes: Konzeption und prototypische Implementierung eines web-basierten Dashboards zur Softwarevisualisierung, Masterarbeit, 2018.
You can find a complete list of publications on our website.