Paycheck module test

Requirements

For development:

  • NodeJS v10 or greater
  • NPM

For deploy:

  • Docker:
    • Docker
    • Docker compose
  • PM2
    • Nginx
    • PM2 process manager

Development

Run project with live reload

npm run development

Run tests

npm run test
npm run integration-test
npm run unit-test

Production

Docker

Deploy solution with reverse proxy on docker instance with docker compose

docker-compose up

PM2

Every instance are going to work on port 3000 by default, it's recommended to use a reverse proxy server like Nginx, using Nginx it's recommended to remove compression from code.

Nginx config example

server {
    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Start

pm2 start ecosystem.config.yaml --env production

Restart

pm2 start ecosystem.config.yaml --env production

Stop

pm2 stop paycheck-module

Delete (first stop instances)

pm2 delete paycheck-module