Skip to content
This repository has been archived by the owner on Mar 13, 2021. It is now read-only.

M4MController/frontend

Repository files navigation

M4M Web App Known Vulnerabilities

Running the app

At first clone the repository:

$ git clone git@github.com:m4mController/frontend.git && cd frontend

Set environment variables

  • SERVER. Ignored with npm run build! Default: backend. Possible values:
    • backend: frontend will be targeted to the real backend (meter4.me).
    • proxy: local proxy server to the backend will be started. Good for local deploying.
    • mock: local mock server will be started. Good for deploying without internet access.
  • MODE. Default: default. Possible values:
    • default: frontend for meter4.me will be build.
    • lite: frontend for controller will be build.
  • BACKEND_API. Backend

Now you can build and run the app, there are several ways to do it:

Using docker

  1. Build the docker image:
$ docker build -t m4m-frontend .
  1. Run a container (replace <PORT> with port you want to listen):
$ docker run -p <PORT>:80 m4m-frontend

Open http://localhost:<PORT> in the browser.

Using npm & node.js

  1. It requires Node.js with npm. Install them.

  2. Install dependencies:

$ npm install
  1. Run the server (replace <PORT> with port you want to listen):
$ PORT=<PORT> npm start

And open http://localhost:<PORT> in the browser.

Using a server

  1. It requires Node.js with npm. Install them.

  2. Install dependencies:

$ npm install
  1. Generate bundle:
$ npm run build

Generated files are located in dist/ directory. For it to work properly, you should use them and public/ as static files on your server. Do it manually, or do the following to run with nginx:

  1. Install nginx.

  2. Copy generated files:

cp -R dist/. /usr/html/
  1. Copy static files:
cp -R public/. /usr/html/
  1. Copy nginx config:
cp nginx.conf /etc/nginx/nginx.conf
  1. Restart nginx:
sudo service nginx restart

Open http://localhost in the browser