Go to file
Konstantinos Spyrou 8638caf9b1 Fix: case insensitive match for validation types 2024-09-06 16:12:09 +03:00
e2e making new-ui branch the new trunk 2021-07-09 10:11:25 +00:00
src Fix: case insensitive match for validation types 2024-09-06 16:12:09 +03:00
.browserslistrc Merging angular-upgrade branch 2021-07-16 11:24:07 +00:00
.editorconfig making new-ui branch the new trunk 2021-07-09 10:11:25 +00:00
.gitignore making new-ui branch the new trunk 2021-07-09 10:11:25 +00:00
LICENSE.txt Add 'LICENSE.txt' 2023-02-14 20:40:47 +01:00
README.md Update 'README.md' 2023-11-15 12:01:34 +01:00
angular.json Merging angular-upgrade branch 2021-07-16 11:24:07 +00:00
package-lock.json removed data print from metrics-usagestats-report-results page 2023-11-01 14:58:25 +02:00
package.json package upgrades 2023-09-26 17:18:44 +03:00
proxy.conf.json making new-ui branch the new trunk 2021-07-09 10:11:25 +00:00
tsconfig.json Merging angular-upgrade branch 2021-07-16 11:24:07 +00:00
tslint.json Merging angular-upgrade branch 2021-07-16 11:24:07 +00:00

README.md

UOA Repository Manager UI

Introduction

Architecture

Building

This project was generated with Angular CLI version 6.0.8 (Angular version 6.1.10).

Minimum requirements for installing and building the project

Node.js version 8.x or 10.x.
npm client command line interface (it is installed with Node.js by default).

Build Instructions:

Follow the instructions below to download the source code and build the application. For more information about building an Angular app you can refer to the official documentation: Building and serving Angular apps.

  1. Clone the repository and move inside the directory
    git clone https://code-repo.d4science.org/MaDgIK/uoa-repository-manager-ui.git && cd uoa-repository-manager-ui
  2. Install Angular dependencies
    npm install
  3. Build Angular app
    ng build --configuration production
    Produces the directory "dist/uoa-repository-manager-ui" which contains the compiled files.

Deployment

Prerequisites

  • Nginx

Instructions

To deploy the Frontend app:

  1. Make sure that you have successfully built and installed the application on Nginx (or another Web Server).
  2. Start or reload the Web Server service.
    e.g. systemctl start nginx or systemctl reload nginx

Installation

Prerequisites



Installation

Nginx Configuration

You have to create a Server Block configuration that will point to the directory "dist/uoa-repository-manager-ui" created by building manually the webapp. It must also be configured as a reverse proxy for the Backend Application (to serve it under the path '/api') and for the list of Dependencies of the project.

See the example below:

server {
    server_name                 ...
    access_log                  ...
    root                        /path/to/uoa-repository-manager-ui;  # the directory of the application

    location / {
        try_files $uri$args $uri$args/ /index.html /index.php;
    }

    location ~* \.(eot|ttf|woff)$ {
        add_header Access-Control-Allow-Origin *;
    }

    # reverse proxy configuration for the backend application
    location /api {
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_pass              <?>;
        proxy_read_timeout      3600;
        proxy_send_timeout      3600;
    }

    [...]
}

Lastly, we would advice to validate the configuration of the Nginx to make sure it does not contain errors.
Execute nginx -t with elevated permissions to perform a validation. If the test is successful you can move on to deploying the application.



Configuration

Security

Maintenance

Recovery

References

Other topics

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
Run npm run start:proxy (equivalent of ng serve --proxy-config proxy.conf.json) instead, to run the project using a development proxy. To configure the proxy modify the proxy.conf.json file (inside the root folder).

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.