This project is aimed at visualizing relationships between multiple models and thus providing the means to quickly browse through the interconnections between different resources. At present time, it focuses on providing visualizations on data attained through JIRA and Jama interfaces. This project is currently under development.
Currently, the project consists of three modules:
data-web
: A Spring Boot application containing mainly the user-side logic. Comprises a backend, a frontend and an embedded DB.jira-rest
: An extraction service fetching the data from the JIRA REST interface.jama-rest
: An extraction service fetching the data from the Jama REST interface.
NOTE: The following instructions are subject to change and will be partially replaced with batch files.
- Add the URL of the JIRA REST API and your credentials to the properties file
config.properties
in thesrc/main/resources
directory of thejira-rest
module. - Run
mvn clean install
in the main directory of thejira-rest
module and put the resultingwar
file on an application server (TODO will be replaced with embedded jetty server).
- Add the URL and your credentials to
config.properties
of thejama-rest
module (see JIRA subsection for more detailed instruction). - Run
mvn spring-boot:run
in the main directory of thejama-rest
module.
- Adjust the properties in the
config.properties
file inside thedata-web
module. - Run
mvn spring-boot:run
in thedata-web
directory. - In order to fetch and save the data, run
http://TODO
andhttp://TODO
. This will start the extraction processes, assembling data from the REST endpoints and storing them into an embedded Neo4j database. The database folderapp.db
will be created in the main directory of thedata-web
module. - Updates to the data will occur automatically with a scheduler (TODO not implemented yet).
- Run
mvn spring-boot:run
in thedata-web
directory, if not done already. - Open
http://localhost:8081/src/index.html
in the browser.
- Assuming
npm
is installed, executenpm install
in the folderdata-web/src/main/resources/static/
. After that, runningwebpack
will bundle the code.
TODO
RESTful services are used to communicate between the various components and to fetch the data.
- Java
- Spring + Spring Boot
- Neo4j with Spring Data
- Maven for build management
- JUnit + Mockito for testing
- JavaScript (incl. ES6 and JSX)
- React with Redux
- npm as package manager
- Webpack as module bundler
- tape for testing
- A bunch of other frameworks including D3, Bootstrap, jQuery, external react + redux libraries, and other utility libraries (check out
package.json
for a complete list).
- Java
- Jersey
- Genson
- JIRA Rest Java Client
- Maven for build management
- Java
- Spring Boot
- Maven for build management
- Drag-and-Drop doesn't work sometimes after dragging in the graph panel. This issue is related to this issue and should be fixed soon.
- More Tests