Skip to content
This repository has been archived by the owner on Jul 2, 2022. It is now read-only.
/ reporting-tool Public archive

Generic web application for reporting safety events in the aviation industry. Ontology-powered.

License

Notifications You must be signed in to change notification settings

kbss-cvut/reporting-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reporting Tool

Reporting tool is a generic aviation safety occurrence reporting software. It was developed as part of the INBAS project.

Development Environment Setup

The following software needs to be installed on the system for development:

  • JDK 8
  • NodeJS v6 or later (can be installed using apt, in which case you need to install npm as well).
  • Maven 3.x
  • Apache Tomcat 8.x (or any other application server)

To start developing, first go to app/root/src/main/webapp and run npm install. This will download the necessary Node dependencies (they are used by the UI written in ReactJS). You can check that everything is working by running npm test. There are more commands for the UI, you can find them in app/root/src/main/webapp/package.json.

Developing the Application

To run the application locally, start JS compile watcher by running npm start from app/root/src/main/webapp. The watcher will recompile JS whenever a change is made to the UI code.

Another possibility is to tell the watcher to put the compiled bundle directly into target/reporting-tool-$version$/js, where it is automatically picked up by Tomcat.

Running the application is simple, just build it with maven and deploy the artifact into you application server.

The "dev" maven profile is intended for development use, it contains non-minified version of the UI. The "production" profile contains minified and uglyfied version of the UI and is more suitable for deployments where performance matters.

Storage Setup

The application uses a RDF4J (formerly known as Sesame) server as its database. The storage requires a RDF4J server deployed in some Java web application server. URL to that repository is set up in config.properties in the application's resource. The relevant property is called repositoryUrl. Path to the repository has to have the following pattern: http://domain:port/rdf4j-server/repositories/repository-id, where repository-id is id of the repository. Using a native/in-memory repository is of course also possible.

Other than the repository url, the config file also specifies URL of the Liferay portal (if present), which is used for user authentication. If the portal is not accessible, the application will use its own use management. OntoDriver is also specified here. Don't change it unless necessary. The last property - eventTypeRepository - specifies URL of the repository which is queried for supported event types. For development purposes, it is suggested to leave this property value as it is.

Live Version

A demo version of the reporting tool is publicly available at the INBAS project server - https://www.inbas.cz/reporting-tool-public. This version allows users to freely explore the possibilities of the application.

It is possible to either register as a new unique user, or use the existing example user with username example@inbas.cz and password Example01