Brevgenerator2 standardiserer og forenkler PDF-generering ved å definere dokumentmaler sentralt men brevmal hos konsument i form av Markdown.
Dette er konfigurert som et integrert monorepo med sentralisert konfigurasjon og mulighet til å importere mellom prosjektene.
- apps
- api - Mikrotjeneste for å konvertere dynamisk markdown til PDF
- preview-web - Web-editor med forhåndsvisning og Git-integrasjon
- packages
- dynamic-markdown - kjernebibliotek
- document-templates - letterhead/footer/styling for genererte dokumenter
- config-typescript - felles tsconfigs
- shared-types - felles typer, inkludert schema for API
- nuget-client
- BrevgeneratorClient - C#-klient for å bruke API - publisert som
Arbeidstilsynet.Brevgenerator.Client - BrevgeneratorClient.Tests - Tester for
Arbeidstilsynet.Brevgenerator.Client - BrevgeneratorClientAdhocTest - CLI for ad hoc testing
- BrevgeneratorClient - C#-klient for å bruke API - publisert som
Se readmes i hvert prosjekt for detaljer. Kortversjon:
$/: pnpm install
$/apps/api: pnpm dev
# se apps/preview-web/README.md for nødvendige miljøvariabler
$/apps/preview-web: pnpm devcompose.override.yaml inkluderer mock av Google Cloud Storage
$/: docker compose up -dEtter du har startet api kan du bruke SwaggerUI på http://localhost:4000/docs
This repo uses prek for pre-commit hooks. Hooks are configured in .pre-commit-config.yaml.
To use prek, first install Mise and activate Mise.
# install git hooks in this repo
prek install
# optional: run hooks manually
prek run --all-filesDette monorepoet bruker Turborepo, som hjelper med å kjøre samme kommando parallelt for mange prosjekter og automatisk bruker cache for prosjekter som ikke er endret.
Docs: Turborepo
For å få håndteringen av workspaces til å fungere best mulig bruker dette repoet pnpm til å installere pakker. Installer pnpm globalt på din maskin med npm i -g pnpm. Du kan fortsatt kjøre npm run dev o.l. i dette repoet, men installering av avhengighetene må gå via pnpm.
# installer pnpm globalt på din maskin
$ npm i -g pnpm
# installer avhengigheter
$ pnpm i
# bygg alle prosjekter
$ pnpm build
# kjør tester for alle prosjekter
$ pnpm test