2021-02-05 21:20:20 +01:00
2021-01-30 17:22:42 +01:00
2021-02-05 21:20:20 +01:00
2021-01-30 18:05:37 +01:00
2021-02-02 09:59:34 +01:00
2021-01-30 17:50:09 +01:00
2021-01-27 17:40:34 +00:00
2021-02-05 21:20:05 +01:00
2021-02-03 18:07:35 +01:00
2021-01-30 17:22:17 +01:00

@lfk/document-server

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. The basic generation mechanism makes the templates and routes interchangeable (if you want to expand or modify it).

Quickstart 🐳

Use this to run the document server in docker.

  1. Clone the repo or copy the docker-compose
  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

Dev Setup 🛠

Local dev setup

  1. Rename the .env.example file to .env (you can adjust app port and other settings, if needed)
  2. Install Dependencies
    yarn
    
  3. Start the server
    yarn dev
    

ENV Vars

You can provide them via .env file or docker env vars.

Name Type Default Description
APP_PORT Number 4010 The port the backend server listens on. Is optional.
NODE_ENV String dev The apps env - influences debug info.

Templates

The document server uses html templates to generate various pdf documents. The templates are stored in src/templates by default.

We provide a set of default templates that we use for the "Lauf für Kaya!" charity run. We use mustache-style templating strings to fill the templates with real information (exact strings are explained below). 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.

The server currently needs the following templates to work:

  • sponsoring_contract.html

Sponsoring Contracts

Template String Type Optional Description
runner_firstname string The runner's first name
runner_middlename string The runner's middle name
runner_lastname string The runner's last name
runner_id int The runner's id

Visual Studio Code

  • will be automatically recommended via ./vscode/extensions.json

Staging

Branches & Tags

  • vX.Y.Z: Release tags created from the main branch
    • The version numbers follow the semver standard
    • A new release tag automaticly triggers the release ci pipeline
  • main: Protected "release" branch
    • The latest tag of the docker image get's build from this
    • New releases get created as tags from this
  • dev: Current dev branch for merging the different feature branches and bugfixes
    • 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
Description
The document generation server responsible for creating pdfs for sponsoring contracts, certificates and more.
Readme 6.2 MiB
Release 0.5.1 Latest
2021-04-22 16:16:43 +00:00
Languages
Go 66.8%
HTML 32.8%
Dockerfile 0.4%