64 lines
1.2 KiB
Markdown
64 lines
1.2 KiB
Markdown
# ✒️ Document generation microservices
|
|
|
|
## Features
|
|
|
|
- 📝 HTML templates for pdf generation
|
|
- 📚 OpenAPI/Swagger documentation
|
|
- ⚡ High-performance with go and gotenberg
|
|
|
|
## 🚀 Quick Start
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```shell
|
|
docker compose -f docker-compose.dev.yaml up
|
|
```
|
|
|
|
### 🏃 Run via air
|
|
|
|
> Install air via `go install github.com/air-verse/air@latest`
|
|
|
|
```shell
|
|
air
|
|
```
|
|
|
|
### ✒️ Update the swagger docs
|
|
|
|
> Install swag via `go install github.com/swaggo/swag/cmd/swag@latest`
|
|
|
|
```shell
|
|
swag init
|
|
```
|
|
|
|
### 🐋 Build container
|
|
|
|
```shell
|
|
# 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 .
|
|
```
|