0.4.3 • Published 2 months ago

@lmpgweb/document-generation-core v0.4.3

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

document GENERATION API CORE

Build Status

document GENERATION API CORE documentation

Setup

Install the module

Installation

Create a new project and import @lmpgweb/document-generation-core

yarn add @lmpgweb/document-generation-core

Create a the file in src/server.ts:

import * as dotenv from 'dotenv';
import { createApp } from '@lmpgweb/document-generation-core';

dotenv.config();

const app = createApp()
	.listen(process.env.API_PORT || 3013);

// eslint-disable-next-line no-console
console.info(`Document generation api server started on port: ${process.env.API_PORT}`);
export default app;

Be sure you have nodemon installed (if no run: yarn add nodemon) Nodemon config:

{
 "watch": ["./src"],
 "ext": "ts",
 "exec": "NODE_PATH=src ts-node -r ./src/server.ts"
}

Add the following scripts to your package.json:

    "dev": "nodemon",
    "dev-consumer": "yarn lmpgweb-document-generation consumer --dev",

Verify you have all the minimum env variables requires:

NODE_ENV=local
SENTRY_DSN=
API_PORT=

JWT_SECRET=

RABBITMQ_HOST=
RABBITMQ_PORT=

PDF_URL=

CLOUD_STORAGE_PROJECT_ID=
CLOUD_STORAGE_BUCKET_NAME_LUMENPULSE=
CLOUD_STORAGE_BUCKET_NAME_STERNBERG=
STORAGE_ENV=local

DEFAULT_PROJECT_IDENTIFIER=

MYSQL_DB_HOST=
MYSQL_DB_PORT=
MYSQL_DB_NAME=
MYSQL_DB_USER=
MYSQL_DB_PASSWORD=

You are ready to go! run in 2 terminals: yarn dev and yarn dev-consumer document

Necessary Env variables

OptionDescription
NODE_ENVlocal, prod or dev
SENTRY_DSNSentry DSN
API_PORTAPI port
JWT_SECRETJWT secret
CLOUD_STORAGE_PROJECT_IDProject ID from gcp
CLOUD_STORAGE_BUCKET_NAME_LUMENPULSEName of the bucket to upload on gcp storage for the lumenpulse project
CLOUD_STORAGE_BUCKET_NAME_STERNBERGName of the bucket to upload on gcp storage for the sternberg project
DEFAULT_PROJECT_IDENTIFIERDefault project when you use multiple DB connection
STORAGE_ENVlocal or gcp, use gcp to upload to cloud, use local to upload only to tmp folder
RABBITMQ_HOSTRabbitMQ host
RABBITMQ_PORTRabbitMQ port
RABBITMQ_USERRabbitMQ user
RABBITMQ_PASSWORDRabbitMQ password
RABBITMQ_PREFIXRabbitMQ queue prefix
MYSQL_DB_NAMEMySQL database name
MYSQL_DB_USERMySQL user
MYSQL_DB_PASSWORDMySQL password
MYSQL_DB_HOSTMySQL host (default: 127.0.0.1)
MYSQL_DB_PORTMysql Port (default: 3306)
PDF_URLApi url to use to print pdf (Puppeteer)
SENTRYSentry DSN