Nicolai Ort a38a0149b7
All checks were successful
Build latest image / build-container (push) Successful in 2m4s
Build release images / build-container (push) Successful in 2m27s
fix(templates/certificates): Add point at end of sentence
2025-04-25 17:33:43 +02:00
2024-12-17 17:51:51 +01:00
2024-12-11 19:33:06 +01:00

✒️ Document generation microservices

Features

  • 📝 HTML templates for pdf generation
  • 📚 OpenAPI/Swagger documentation
  • High-performance with go and gotenberg

🚀 Quick Start

# Install dependencies
go mod download

# Run the server
air

📖 API Documentation

Swagger UI is available at: /swagger

🛠️ Development

The project uses:

  • 🏃‍♂️ go as the language and build tool
  • 🌐 gofiber for the web framework
  • 📦 air for live reload
  • 📝 swaggo for API documentation
  • 📄 gotenberg for HTML to PDF conversion

📦 Use docker compose for external dependencies

docker compose -f docker-compose.dev.yaml up

🏃 Run via air

Install air via go install github.com/air-verse/air@latest

# With the default air config
air

# With the config for linux/macOS
air -c .air.linux.toml

# With the config for windows
air -c .air.windows.toml

✒️ Update the swagger docs

Install swag via go install github.com/swaggo/swag/cmd/swag@latest

swag init

🐋 Build container

# single arch
docker build -t registry.odit.services/lfk/document-server:latest .

# multiarch
docker buildx build --platform=linux/amd64,linux/arm64 -t registry.odit.services/lfk/document-server:latest --push .

⏱️ Benchmarks

Barcode Generation

  • Requests: 10000
  • Concurrency: Unlimited
  • Data: 123456789123
  • Width: 1000
  • Height: 500

No cache (cold start)

Format Data Requests/sec Slowest Fastest Average
Code128 123456789123 763.3996 0.7995 0.0172 0.0654
EAN13 123456789123 767.1170 0.7607 0.0171 0.0651
QR 123456789123 683.8472 0.6528 0.0178 0.0730

Redis cache (warm start)

Format Data Requests/sec Slowest Fastest Average
Code128 123456789123 15611.5521 0.0965 0.0006 0.0032
EAN13 123456789123 14985.4401 0.0925 0.0006 0.0033
QR 123456789123 14306.2540 0.1143 0.0005 0.0035
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 65.6%
HTML 34%
Dockerfile 0.4%