/waldur-homeport

Waldur HomePort is web-based client for the Waldur MasterMind.

Primary LanguageTypeScriptMIT LicenseMIT

Introduction

Waldur HomePort is web-based client for the Waldur MasterMind. It uses yarn for dependency management and webpack as module bundler.

System Requirements

Development/testing:

  • Linux (CentOS 7 and Ubuntu 18.04 tested) or OS X
  • 2 GB of RAM

Installation

  1. Update system and install basic dependencies: Example for CentOS 7:
yum --assumeyes update
yum install --assumeyes bzip2 git wget

Example for Ubuntu 18.04 LTS:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git wget
  1. Install LTS Node.js and yarn:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
source ~/.bashrc
nvm install --lts
npm install -g yarn
  1. Clone project and go to its folder:
git clone <repository-url>
cd waldur-homeport
  1. Install dependencies via yarn:
yarn

PS. If you see errors related to fsevents on OS X, the workaround is: yarn cache clean && yarn upgrade && yarn.

  1. Create /src/configs/custom-config.json:
cp src/configs/config.json.example src/configs/config.json
  1. Configure config.json. Please read Configuration guide to learn more.

  2. Run application: yarn start.

Server will listen on //localhost:8001

Backend configuration

Use Waldur MasterMind for backend.

Also you should install django-cors-headers from pip in order to add CORS headers:

pip install django-cors-headers

Then you should update waldur_core/server/settings.py and add the following lines at the end of the file:

INSTALLED_APPS += ('corsheaders',)
MIDDLEWARE = ('corsheaders.middleware.CorsMiddleware',) + MIDDLEWARE
CORS_ORIGIN_ALLOW_ALL = True
CORS_EXPOSE_HEADERS = (
    'x-result-count',
    'Link',
)

Development process

See Development guidelines for development policies.