Merge branch 'dev' into feature/13-barcode_generation
# Conflicts: # src/PdfCreator.ts # src/config.ts
This commit is contained in:
commit
b0d42939a6
12
CHANGELOG.md
12
CHANGELOG.md
@ -2,8 +2,20 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
||||||
|
|
||||||
|
#### [v0.1.3](https://git.odit.services/lfk/document-server/compare/v0.1.2...v0.1.3)
|
||||||
|
|
||||||
|
- 🚀Bumped version to v0.1.3 [`6a14232`](https://git.odit.services/lfk/document-server/commit/6a142328898d5b89fa11eaf033372971d1093b0c)
|
||||||
|
- 🧾New changelog file version [CI SKIP] [skip ci] [`b6296b8`](https://git.odit.services/lfk/document-server/commit/b6296b8d97cda943dfb5e11bc9dfbb2f363f5b81)
|
||||||
|
- Merge pull request 'Load more stuff from env feature/16-env_vars' (#17) from feature/16-env_vars into dev [`bc4d16e`](https://git.odit.services/lfk/document-server/commit/bc4d16e6f8959ed35d7e87647de84584cdfddd7b)
|
||||||
|
- Added new env vars to config [`3bb322e`](https://git.odit.services/lfk/document-server/commit/3bb322ede5db15a147c0d7a8db2a68ccb7fa2112)
|
||||||
|
- Added new env vars to readme [`b77bb3a`](https://git.odit.services/lfk/document-server/commit/b77bb3ad9dba9d73c2c81215ba57936192155a9a)
|
||||||
|
- Now loading interpolation vars from config/env [`b4ebae2`](https://git.odit.services/lfk/document-server/commit/b4ebae283b472b2f0c6e28caed49b30edb119585)
|
||||||
|
- 🧾New changelog file version [CI SKIP] [skip ci] [`a306009`](https://git.odit.services/lfk/document-server/commit/a30600943d01116b99e946cb705a16d0372b5095)
|
||||||
|
|
||||||
#### [v0.1.2](https://git.odit.services/lfk/document-server/compare/v0.1.1...v0.1.2)
|
#### [v0.1.2](https://git.odit.services/lfk/document-server/compare/v0.1.1...v0.1.2)
|
||||||
|
|
||||||
|
> 7 February 2021
|
||||||
|
|
||||||
- Merge pull request 'Alpha Release 0.1.2 - Hotfix release' (#15) from dev into main [`123cf8a`](https://git.odit.services/lfk/document-server/commit/123cf8ad48a45fa10dcd5208215a6e525f31115a)
|
- Merge pull request 'Alpha Release 0.1.2 - Hotfix release' (#15) from dev into main [`123cf8a`](https://git.odit.services/lfk/document-server/commit/123cf8ad48a45fa10dcd5208215a6e525f31115a)
|
||||||
- 🧾New changelog file version [CI SKIP] [skip ci] [`22b1e00`](https://git.odit.services/lfk/document-server/commit/22b1e0097efc865de9cc150cb0d0b99bf789b519)
|
- 🧾New changelog file version [CI SKIP] [skip ci] [`22b1e00`](https://git.odit.services/lfk/document-server/commit/22b1e0097efc865de9cc150cb0d0b99bf789b519)
|
||||||
- 🚀Bumped version to v0.1.2 [`7e507d4`](https://git.odit.services/lfk/document-server/commit/7e507d4cc415877ac0b25503dc0ff9ecdceabf42)
|
- 🚀Bumped version to v0.1.2 [`7e507d4`](https://git.odit.services/lfk/document-server/commit/7e507d4cc415877ac0b25503dc0ff9ecdceabf42)
|
||||||
|
151
README.md
151
README.md
@ -1,75 +1,78 @@
|
|||||||
# @lfk/document-server
|
# @lfk/document-server
|
||||||
|
|
||||||
The document generation server responsible for creating pdfs for sponsoring contracts, certificates and more.
|
The document generation server responsible for creating pdfs for sponsoring contracts, certificates and more.
|
||||||
This server doesn't interact with any database and can therefor be deployed on it's own.
|
This server doesn't interact with any database and can therefor be deployed on it's own.
|
||||||
The basic generation mechanism makes the templates and routes interchangeable (if you want to expand or modify it).
|
The basic generation mechanism makes the templates and routes interchangeable (if you want to expand or modify it).
|
||||||
|
|
||||||
## Quickstart 🐳
|
## Quickstart 🐳
|
||||||
> Use this to run the document server in docker.
|
> Use this to run the document server in docker.
|
||||||
|
|
||||||
1. Clone the repo or copy the docker-compose
|
1. Clone the repo or copy the docker-compose
|
||||||
2. Run in the folder that contains the docker-compose file: `docker-compose up -d`
|
2. Run in the folder that contains the docker-compose file: `docker-compose up -d`
|
||||||
3. Visit http://127.0.0.1:4010/docs to check if the server is running
|
3. Visit http://127.0.0.1:4010/docs to check if the server is running
|
||||||
|
|
||||||
## Dev Setup 🛠
|
## Dev Setup 🛠
|
||||||
> Local dev setup
|
> Local dev setup
|
||||||
|
|
||||||
1. Rename the .env.example file to .env (you can adjust app port and other settings, if needed)
|
1. Rename the .env.example file to .env (you can adjust app port and other settings, if needed)
|
||||||
2. Install Dependencies
|
2. Install Dependencies
|
||||||
```bash
|
```bash
|
||||||
yarn
|
yarn
|
||||||
```
|
```
|
||||||
3. Start the server
|
3. Start the server
|
||||||
```bash
|
```bash
|
||||||
yarn dev
|
yarn dev
|
||||||
```
|
```
|
||||||
|
|
||||||
## ENV Vars
|
## ENV Vars
|
||||||
> You can provide them via .env file or docker env vars.
|
> You can provide them via .env file or docker env vars.
|
||||||
|
|
||||||
| Name | Type | Default | Description
|
| Name | Type | Default | Description
|
||||||
| - | - | - | -
|
| - | - | - | -
|
||||||
| APP_PORT | Number | 4010 | The port the backend server listens on. Is optional.
|
| APP_PORT | Number | 4010 | The port the backend server listens on. Is optional.
|
||||||
| NODE_ENV | String | dev | The apps env - influences debug info.
|
| NODE_ENV | String | dev | The apps env - influences debug info.
|
||||||
|
| EVENT_NAME | String | "Please set the event name" | The event's name - used to generate pdf text.
|
||||||
## Templates
|
| CURRENCY_SYMBOL | String | "€" | The your currency's symbol - used to generate pdf text.
|
||||||
> The document server uses html templates to generate various pdf documents.
|
| SPONSORING_RECEIPT_MINIMUM_AMOUNT | String | "10" | The mimimum total donation amount a sponsor has to donate to be able to receive a donation receipt - used to generate pdf text.
|
||||||
> The templates are stored in src/templates by default.
|
|
||||||
|
## Templates
|
||||||
We provide a set of default templates that we use for the ["Lauf für Kaya!" charity run](https://lauf-fuer-kaya.de).
|
> The document server uses html templates to generate various pdf documents.
|
||||||
We use handlebars for templateing utilizing i18next for translation - the i18n string format in the templates is : `{{__ "string"}}`
|
> The templates are stored in src/templates by default.
|
||||||
You can provide your own templates by replacing the ones we provided before compiling the project or by simply mounting your custom templates into the docker container.
|
|
||||||
|
We provide a set of default templates that we use for the ["Lauf für Kaya!" charity run](https://lauf-fuer-kaya.de).
|
||||||
The server currently needs the following templates to work:
|
We use handlebars for templateing utilizing i18next for translation - the i18n string format in the templates is : `{{__ "string"}}`
|
||||||
* sponsoring_contract.html
|
You can provide your own templates by replacing the ones we provided before compiling the project or by simply mounting your custom templates into the docker container.
|
||||||
|
|
||||||
### Sponsoring Contracts
|
The server currently needs the following templates to work:
|
||||||
|
* sponsoring_contract.html
|
||||||
| Template Data | Type | Optional | Description
|
|
||||||
| - | - | - | -
|
### Sponsoring Contracts
|
||||||
| runners | array(Runner) | ❌ | The runner objects. We generate a contract for each runner on a new DIN-A5 page.
|
|
||||||
|
| Template Data | Type | Optional | Description
|
||||||
|
| - | - | - | -
|
||||||
## Recommended Editor
|
| runners | array(Runner) | ❌ | The runner objects. We generate a contract for each runner on a new DIN-A5 page.
|
||||||
|
|
||||||
[Visual Studio Code](https://code.visualstudio.com/)
|
|
||||||
|
## Recommended Editor
|
||||||
### Recommended Extensions
|
|
||||||
|
[Visual Studio Code](https://code.visualstudio.com/)
|
||||||
* will be automatically recommended via ./vscode/extensions.json
|
|
||||||
* we also provide a config for i18n-ally in the .vscode folder
|
### Recommended Extensions
|
||||||
|
|
||||||
## Staging
|
* will be automatically recommended via ./vscode/extensions.json
|
||||||
### Branches & Tags
|
* we also provide a config for i18n-ally in the .vscode folder
|
||||||
* vX.Y.Z: Release tags created from the main branch
|
|
||||||
* The version numbers follow the semver standard
|
## Staging
|
||||||
* A new release tag automaticly triggers the release ci pipeline
|
### Branches & Tags
|
||||||
* main: Protected "release" branch
|
* vX.Y.Z: Release tags created from the main branch
|
||||||
* The latest tag of the docker image get's build from this
|
* The version numbers follow the semver standard
|
||||||
* New releases get created as tags from this
|
* A new release tag automaticly triggers the release ci pipeline
|
||||||
* dev: Current dev branch for merging the different feature branches and bugfixes
|
* main: Protected "release" branch
|
||||||
* The dev tag of the docker image get's build from this
|
* The latest tag of the docker image get's build from this
|
||||||
* Only push minor changes to this branch!
|
* New releases get created as tags from this
|
||||||
* To merge a feature branch into this please create a pull request
|
* dev: Current dev branch for merging the different feature branches and bugfixes
|
||||||
* feature/xyz: Feature branches - nameing scheme: `feature/issueid-title`
|
* The dev tag of the docker image get's build from this
|
||||||
|
* Only push minor changes to this branch!
|
||||||
|
* To merge a feature branch into this please create a pull request
|
||||||
|
* feature/xyz: Feature branches - nameing scheme: `feature/issueid-title`
|
||||||
* bugfix/xyz: Branches for bugfixes - nameing scheme:`bugfix/issueid-title`
|
* bugfix/xyz: Branches for bugfixes - nameing scheme:`bugfix/issueid-title`
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@odit/lfk-document-server",
|
"name": "@odit/lfk-document-server",
|
||||||
"version": "0.1.2",
|
"version": "0.1.3",
|
||||||
"description": "The document generation server for the LfK! runner system. This generates certificates, sponsoring aggreements and more",
|
"description": "The document generation server for the LfK! runner system. This generates certificates, sponsoring aggreements and more",
|
||||||
"main": "src/app.ts",
|
"main": "src/app.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -20,7 +20,7 @@ import { RunnerGroup } from './models/RunnerGroup';
|
|||||||
export class PdfCreator {
|
export class PdfCreator {
|
||||||
private templateDir = path.join(__dirname, '/templates');
|
private templateDir = path.join(__dirname, '/templates');
|
||||||
private browser;
|
private browser;
|
||||||
private static interpolations = { eventname: "Lauf für Kaya! 2021", sponsoring_receipt_minimum_amount: '10', currency_symbol: "€" }
|
private static interpolations = { eventname: config.eventname, sponsoring_receipt_minimum_amount: config.sponsoring_receipt_minimum_amount, currency_symbol: config.currency_symbol }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main constructor.
|
* Main constructor.
|
||||||
|
@ -5,6 +5,9 @@ export const config = {
|
|||||||
internal_port: parseInt(process.env.APP_PORT) || 4010,
|
internal_port: parseInt(process.env.APP_PORT) || 4010,
|
||||||
development: process.env.NODE_ENV === "production",
|
development: process.env.NODE_ENV === "production",
|
||||||
version: process.env.VERSION || require('../package.json').version,
|
version: process.env.VERSION || require('../package.json').version,
|
||||||
|
eventname: process.env.EVENT_NAME || "Please set the event name",
|
||||||
|
currency_symbol: process.env.CURRENCY_SYMBOL || "€",
|
||||||
|
sponsoring_receipt_minimum_amount: process.env.SPONSORING_RECEIPT_MINIMUM_AMOUNT || "10",
|
||||||
codeformat: process.env.CODEFORMAT || "qrcode"
|
codeformat: process.env.CODEFORMAT || "qrcode"
|
||||||
}
|
}
|
||||||
let errors = 0
|
let errors = 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user