document GENERATION API CORE documentation
document GENERATION API CORE documentation
Create a new project and import @ax2/document-generation-core
``sh`
yarn add @ax2/document-generation-core
Create a the file in src/server.ts:
`typescript
import * as dotenv from 'dotenv';
import { createApp } from '@ax2/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:
`json`
{
"watch": ["./src"],
"ext": "ts",
"exec": "NODE_PATH=src ts-node -r ./src/server.ts"
}
Add the following scripts to your package.json:
`json`
"dev": "nodemon",
"dev-consumer": "yarn ax2-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=
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
| Option | Description |
|------------------------------|----------------------------------------------------------------------------------|
| NODE_ENV | local, prod or dev |SENTRY_DSN
| | Sentry DSN |API_PORT
| | API port |JWT_SECRET
| | JWT secret |CLOUD_STORAGE_PROJECT_ID
| | Project ID from gcp |CLOUD_STORAGE_BUCKET_NAME
| | Name of the bucket to upload on gcp storage |DEFAULT_PROJECT_IDENTIFIER
| | Default project when you use multiple DB connection |STORAGE_ENV
| | local or gcp, use gcp to upload to cloud, use local to upload only to tmp folder |RABBITMQ_HOST
| | RabbitMQ host |RABBITMQ_PORT
| | RabbitMQ port |RABBITMQ_USER
| | RabbitMQ user |RABBITMQ_PASSWORD
| | RabbitMQ password |RABBITMQ_PREFIX
| | RabbitMQ queue prefix |MYSQL_DB_NAME
| | MySQL database name |MYSQL_DB_USER
| | MySQL user |MYSQL_DB_PASSWORD
| | MySQL password |MYSQL_DB_HOST
| | MySQL host (default: 127.0.0.1) |MYSQL_DB_PORT
| | Mysql Port (default: 3306) |PDF_URL
| | Api url to use to print pdf (Puppeteer) |SENTRY` | Sentry DSN |
|