/duraark-geometricenrichment

Service for exposing DURAARK's geometric enrichment components via a REST-API.

Primary LanguageJavaScriptMIT LicenseMIT

duraark-geometricenrichment

Circle CI

Overview

This library is part of the DURAARK system and contains the metadata extraction components.

Information on the provided functionalities can be found in the reports

Usage

Usage documentation is available here.

Dependencies

The service depends on the following DURAARK components:

Used By

This service is used by the

Installation

The following instructions will deploy the SailsJS-based service which exports a REST API.

Prerequisites

The deployment is tested on Ubuntu 14.04 LTS. Other Linux distribution should work too, but are not tested. Docker and Docker Compose are used for installation and have to be installed on the system you want to deploy the DURAARK system on. The following instructions assume that Docker and Docker Compose are installed on working on the system. See the above links on how to install them for various platforms. Git has to be installed, too.

It is also possible to install DURAARK on Windows and Mac users via the Docker Toolbox. Installing Docker Compose on windows is possible, but seems to be a bit of a hurdle. See this Stackoverflow answer for details.

Our recommended stack is to install DURAARK on a Docker-compatible Linux system or to use VirtualBox to install a Linux virtual machine on your Windows host.

Installation Steps

On the host you want to deploy the service execute the following steps (assuming that Docker and Docker Compose are installed and working):

> git clone --recursive https://github.com/DURAARK/duraark-geometricenrichment.git
> cd duraark-geometricenrichment
> sudo mkdir -p /duraark-storage/sessions
> docker-compose up -d

This will deploy the system in the current stable version (v0.7.0) which exposes its API at http://HOST_IP:5014/ (http://localhost:5014/ if you did the setup on your local host).

The files you want to use have to be put into the folder /tmp/duraark/files. You may want to also install the duraark-sessions, which acts as the data volume container for files in the DURAARK System.

Development Environment

To setup the environment follow these steps:

> git clone --recursive https://github.com/DURAARK/duraark-geometricenrichment.git
> cd duraark-geometricenrichment
> npm install
> mkdir -p /duraark-storage/sessions
> docker-compose -f devenv-compose.yml build
> docker-compose -f devenv-compose.yml up -d

This will build the dockerized development environment. After building the docker container is started and you can access the service at http://localhost:5014. Changing the source code will live reload the container.

The files you want to use have to be put into the folder /tmp/duraark/files. You may want to also install the duraark-sessions, which acts as the data volume container for files in the DURAARK System.

Testing

Run npm test in the src folder.

Platform Support

This library is running on NodeJS and provides a Dockerfile for deployments on Docker-enabled hosts.

Public API

We are hosting a public API endpoint at

which also provides API documentation for the current stable version.

Demo

A public demo of the DURAARK System which incorporates this service is available here.