= openKonsequenz - How to build the module "gridFailureInformation@openK"

:Date: 2020-03-24
:Revision: 1

:icons:
:source-highlighter: highlightjs
:highlightjs-theme: solarized_dark

:imagesdir: ../img
:iconsdir: ../img/icons

:lang: en
:encoding: utf-8
<<<

IMPORTANT: Please be sure that you have first *Portal (Auth n Auth)* and *ContactBaseData* installed and configured!

== Requirements
* Node.js 12.14.0
* Angular-CLI

== How to build the Backend
To build the backend you need to have installed Apache Maven and Java (look at `/deploy/`*get_started.txt*).

== How to build the Frontend

=== Install Node.js

Node.js is an open-source, cross-platform JavaScript run-time environment for executing JavaScript (also Typescript which is a strongly typed form of JavaScript) code server-side.

* Download Node.js 12.14.0 from https://nodejs.org/download/release/v12.14.0/ by clicking on a xxx.msi image for windows.
* Run the downloaded Node.js .msi Installer - including accepting the license, selecting the destination, and authenticating for the install.
This requires Administrator privileges, and you may need to authenticate
* To ensure Node.js has been installed, run the following in your terminal - you should get something like 12.14.0

[source,command]
----
    $ node -v
----
{blank}

=== Update the npm Angular-CLI client
This package manager comes bundled with Node.js and its good to have the latest version.

* Open a command line and navigate to the root folder of the frontend project
* Run the following commands (the version is defined in the package.json file):

[source,command]
----
    $ npm install --save-dev @angular/cli
----
{blank}

[source,command]
----
    $ npm install
----
{blank}

TIP: Next Step -> Read the *grid-failure-information_howtoRun* file!

== How to build the SIT-Web-FE (Map- and Table-Component)
=== Prerequirements

* Open a command line and make sure that nest-cli is installed:
+
[source,command]
----
    $ nest -version
----
{blank} 
=> This should show the version number. 

* If you miss the version number or get an error then install the nest-cli with the following command:
+
[source,command]
----
    $ npm install -g @nestjs/cli
----
{blank} 

=== Build and run the SIT-Web-Cache-Service

* Open a command line and navigate to the folder of the service project
(_grid-failure-information-web-cache_).

* To build the service run the commands:
+
[source,command]
----
   $  npm install
   $  nest build
----
{blank} 
=> A folder named '_dist_' should be created in the project folder containing *.js and *.ts files.

* Start the service with the following command for testing:
+
[source,command]
----
   $  npm run start
----
{blank} 
=> After the nest service is started you can test the service within your browser by calling the following address: http://localhost:3000/public-sit. (You should replace _localhost_ with your own network address.) 

=== Build the SIT-Web-FE

* Open a command line and navigate to the root folder of the project. +
=> The project.json file should be in the same folder.

* Install the required dependencies with the following command:
+
[source,command]
----
    $ npm install
----
{blank}

* Build the map and table component:
+
[source,command]
----
    $ npm install
    $ npm run build-comp-full
----
{blank}
=> A folder named '_dist/grid-failure-information-web-comp_' should be created in the project root folder.

TIP: Next Step -> Read the *howtoRun* file!
