# Welcome to PDX Portal [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d9682ce514f649929039b21945ff147c)](https://www.codacy.com?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=InfoClinika/pdx-portal&amp;utm_campaign=Badge_Grade)

Here's description how to run PDX Portal application.

### Prerequisites

 * [Java SDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html), version 1.8 or higher.
 * [Gradle](https://gradle.org/install/), 4.x or higher.
 * [Node.js](https://nodejs.org/en/download/current/), 8.x or higher.
 * [Bower](https://bower.io/), version 1.8.x or higher.
 * [MySQL](https://dev.mysql.com/downloads/mysql/5.5.html), version 5.5.

### To run the PDX Portal application:

 * Copy `flyway.conf` file from the `src/main/resources` to the user home folder.
 * Fill the copied file with real values about local DB.
 * Set environment variables with local DB values:
    - `PDX_PORTAL_DB_HOST` - DB host;
    - `PDX_PORTAL_SCHEMA_NAME` - DB schema name;
    - `PDX_PORTAL_DB_USER` - DB user;
    - `PDX_PORTAL_DB_PASS` - DB password.
 * Run `./gradlew clean build` to build `.war` file.
 * Deploy created `.war` file on Tomcat root.
 
### To run the PDX Portal using Spring Boot built-in Tomcat [Simplified]:

 * Execute first 3 paragraphs from the previous section.
 * Run `./gradlew flywayMigrate` to update DB schema.
 * Go to `/src/main/java/com/infoclinika/pdx/config/SinglePageAppConfig.java`.
 * Change the resource location from `classpath:/ui/build/default/` to `classpath:/ui/`.
 * Run `src/main/java/com/infoclinika/pdx/PdxPortalApplication.java`.
