diff --git a/deploy/HowToDeploy.txt b/deploy/HowToDeploy.txt
deleted file mode 100644
index 4e9ec6f..0000000
--- a/deploy/HowToDeploy.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-Deployment der Anwendung oK Betriebstagebuch
-________________________________________________
-22.03.2017 _fd                     first Version
-________________________________________________
-
-
-Allgemein
-_________________________________________________
-
-Datenbank einrichten
-____________________
-
-....
-
-Datenquelle auf Apache Tomcat einrichten
-________________________________________
-Im "conf"-Unterverzeichnis des Tomcat (<TOMCAT>/conf) befindet sich die Datei context.xml.
-Diese muss um den Bereich "<Resource>..." aus der Datei (/deploy/context.xml) ergänzt werden.
-Der Datenbank-Treiber (deploy/lib/postgresql-xxx.jar) muss nach ""<TOMCAT>/lib" kopiert werden.
-
-
-Backend-Installieren
-____________________
-Die Datei "betriebstagebuch.war" muss in das Verzeichnis "<TOMCAT>/webapps" kopiert werden. Sollte
-dort bereits ein Verzeichnis "betriebstagebuch" vorhanden sein, so muss dieses zuvor gelöscht werden.
-
-
-
-Frontend-Installieren
-_____________________
-....
\ No newline at end of file
diff --git a/deploy/get_started.txt b/deploy/get_started.txt
new file mode 100644
index 0000000..571f12b
--- /dev/null
+++ b/deploy/get_started.txt
@@ -0,0 +1,92 @@
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+GET STARTED
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+---------------- REQUIREMENTS -------------
+Java 1.8
+Apache Maven 3.5.0
+
+IF you have this versions, check if you have set JAVA_HOME and M2_HOME.
+    - If yes ignore step 1 and 2
+    - If no follow the corresponding steps below
+
+-------------------- 1 ---------------------
+Install java 8
+
+- Open a cmd and check your java version
+    $ java -version
+- If you dont have java version 1.8 then download and install it from:
+        http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
+- Set JAVA_HOME (Windows OS):
+    Right click on This Computer and select Properties.
+    On the Advanced tab, select Environment Variables, and then edit JAVA_HOME to point to where the JDK software is located, for example, C:\Program Files\Java\jdk1.8.xxx.
+    Also, edit The Path variable in System variables and add the bin path (C:\Program Files\Java\jdk1.8.xxx\bin)
+- Restart your PC
+- Confirm by checking the version
+    $ java -version
+
+
+-------------------- 2 ---------------------
+Install Apache Maven to your pc
+
+Maven is a tool that can be used for building and managing any Java-based project.
+
+- Download maven 3.5.0 from
+        https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.0/
+- Extract the folder and place it on your C drive
+- Set M2_HOME (Windows OS):
+    - Right click on This Computer and select Properties.
+    - On the Advanced tab, select Environment Variables, and then create M2_HOME to point to where the Maven software is located, for example, C:\apache-maven-3.5.0.
+    - Also edit The Path variable in System variables and add the bin path (C:\apache-maven-3.5.0\bin)
+- Restart your PC
+- Confirm with
+    $ mvn -v
+
+-------------------- 3 ---------------------
+To get started with the project you have to clone all four(elogbook and portal backend-frontend ) projects.
+
+- Create a folder and do following for each of them
+- Open a cmd and navigate to the folder
+- use the command to create a clone of each project
+    § git clone <project_url>
+- if you are going to develop, important is a switch to the develop branch
+    - navigate in the folder with the clone and switch to develop branch
+        $ git checkout <branch>
+- At the end just pull the actual version of the code
+    $ git pull origin <branch>
+
+
+--------------------------
+Active Develop Branches: |
+Backend -> DEVELOP_BE    |
+Frontend -> DEVELOP_FE   |
+-------------------------|
+Stable Branches: master  |
+--------------------------
+
+
+-------------------- 4 ---------------------
+Build the maven project
+
+Building the maven project, will produce a <project_name>.war file(Web Application Archive), which is needed to run the project.
+- Open a command line and navigate to the root folder of the backend project
+- Use the following call to cleanly build and install artifacts into the local repository:
+    $ mvn clean install
+
+-------------------- 5 ---------------------
+Open and familiarize yourself with the project
+
+- if you successfully build the maven project you can find in /target/generated-docs all the documentations of this projects
+    - auth_n_auth_howtoBuild -> here you can read how to build the whole (backend and frontend) project
+    - auth_n_auth_howtoRun -> here you can read how to run the Application
+    - auth_n_auth_architectureDocumentation -> here you can read about the architecture pf this module
+    - auth_n_auth_interfaceDocumentation -> here you can read about the backend REST Services which are used
+
+- Other useful files:
+    - /target/site/jacoco/index.html -> jacoco code coverage review
+    - /target/surefire-reports -> test reports
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+NEXT STEP -> READ THE auth_n_auth_howtoBuild FILE !
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
\ No newline at end of file
diff --git a/src/main/asciidoc/howto/auth_n_auth_howtoBuild.adoc b/src/main/asciidoc/howto/auth_n_auth_howtoBuild.adoc
new file mode 100644
index 0000000..f325b3e
--- /dev/null
+++ b/src/main/asciidoc/howto/auth_n_auth_howtoBuild.adoc
@@ -0,0 +1,86 @@
+= openKonsequenz - How to build the module "portal@openK"
+:Date: 2017-11-17
+:Revision: 1
+:icons:
+:source-highlighter: highlightjs
+:highlightjs-theme: solarized_dark
+
+<<<
+
+== Requirements
+* Apache Tomcat 8.0.30
+* Node.js 6.10.0
+* Angular-CLI
+* Graphviz
+
+== How to build the Backend
+To build the backend you need to have installed Apache Maven and Java (look at `/deploy/`*get_started.txt*).
+
+=== Install and Configure Apache Tomcat
+Tomcat is an open-source Java Servlet Container and provides a "pure Java" HTTP web server environment in which Java code can run.
+
+* Download Tomcat version 8.0.30 from https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.30/bin/
+and extract it (apache-tomcat-8-0-30.zip).
+* Place the extracted folder on your C drive.
+* Configure Tomcat:
+** Configure the *context.xml* file. Copy the *<Parameter … >* block from the project file `deploy/conf/`*context.xml*
+and paste it in the `<tomcat>/conf/`*context.xml* in the *<Context>* block.
+** Or just paste this line there:
+
+ <Parameter name="OK_PORTAL_ENVIRONMENT" override="false" value="DevLocal"/>
+
+** Dont forget to save it.
+
+TIP: For more informations check *Deployment View* in Chapter *http://87.128.212.254:8880/portalFE_ADoc/auth_n_auth_architectureDocumentation.html[auth_n_auth_architectureDocumentation]*.
+
+
+=== Install Graphviz
+Graphviz is open source graph visualization software. You need this software because of auto-generated graphics in the documentations.
+
+* Download and install Graphviz from http://www.graphviz.org/Download_windows.php
+* If not, set the PATH variable
+
+ Name of variable: GRAPHVIZ_DOT
+ Value of variable: <GRAPHVIZ_DIR>\bin\dot.exe
+
+
+== 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 6.10.0 from https://nodejs.org/download/release/v6.10.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 v6.10.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 *auth_n_auth_howtoRun* file!
+
+
+
+
diff --git a/src/main/asciidoc/howto/auth_n_auth_howtoRun.adoc b/src/main/asciidoc/howto/auth_n_auth_howtoRun.adoc
new file mode 100644
index 0000000..4888ffa
--- /dev/null
+++ b/src/main/asciidoc/howto/auth_n_auth_howtoRun.adoc
@@ -0,0 +1,66 @@
+= openKonsequenz - How to run the module "portal@openK"
+:Date: 2017-11-17
+:Revision: 1
+:icons:
+:source-highlighter: highlightjs
+:highlightjs-theme: solarized_dark
+
+<<<
+
+== Requirements
+* Browser (Chrome or IE11 suggested)
+
+== Prerequisites
+
+* KeyCloak 3.2.1 Final (look at the *http://87.128.212.254:8880/portalFE_ADoc/auth_n_auth_architectureDocumentation.html[auth_n_auth_architectureDocumentation]* in *Deployment View* Chapter for install instructions)
+
+IMPORTANT: KeyCloak must be installed for a successful login at the application!
+
+== How to run the Backend
+To run the backend you need to have installed and configured Apache Tomcat (look at *auth_n_auth_howtoBuild*).
+
+=== Set up and start Apache Tomcat
+Tomcat needs the Web Application Archive (war) file, which is produced by building the maven project, to run the application.
+
+* Copy the *portal.war* file from the project file `/target` in the `<tomcat>/webapps` file. If there is a folder named *portal*, delete it before.
+* Navigate to `C:\apache-tomcat-8.0.30\bin` and start Tomcat by clicking on *startup.bat*.
+* Tomcat's default port is *8080*.
+
+[source,text]
+----
+If 8080 port is already in use, you have to change tomcat's port as follows:
+- Go to <tomcat>/conf folder
+- Open server.xml file and search for "Connector port"
+- Replace "8080" by your port number (for example 8181)
+- Restart tomcat server (in the same folder which startup.bat is located, you can also find a shutdown.bat file).
+----
+{blank}
+
+TIP: Look at the *http://87.128.212.254:8880/portalFE_ADoc/auth_n_auth_interfaceDocumentation.html[auth_n_auth_interfaceDocumentation]* for informations about the services.
+
+== How to run the Frontend
+To run the frontend project you need to have installed and updated Node.js and npm Angular-CLI.
+
+=== Compile the Frontend
+
+To compile say Angular-CLI to start.
+
+* Open a command line and navigate to the root folder of the frontend project
+* Run the command
+
+[source,command]
+----
+   $  npm start
+----
+{blank}
+
+* Open a browser and type:
+
+[source,http]
+----
+    http://localhost:4201
+----
+{blank}
+
+IMPORTANT: To open the *Betriebstagebuch* module you have to run the *elogbook* application too.
+
