Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shipsaas/docking
DocKing: Your shared-microservice that takes over the document templates management & render/export PDF
https://github.com/shipsaas/docking
document document-templates laravel microservice pdf pdf-generation pdf-render pdf-renderer php
Last synced: about 1 month ago
JSON representation
DocKing: Your shared-microservice that takes over the document templates management & render/export PDF
- Host: GitHub
- URL: https://github.com/shipsaas/docking
- Owner: shipsaas
- License: mit
- Created: 2023-04-18T10:43:13.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-23T03:52:48.000Z (7 months ago)
- Last Synced: 2024-11-13T13:37:14.490Z (about 1 month ago)
- Topics: document, document-templates, laravel, microservice, pdf, pdf-generation, pdf-render, pdf-renderer, php
- Language: PHP
- Homepage: https://docking.shipsaas.tech
- Size: 2.1 MB
- Stars: 219
- Watchers: 3
- Forks: 14
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-gotenberg - ShipSaaS/DocKing - an open-source microservice to manage document templates & render PDFs for your apps. (Applications)
- jimsghstars - shipsaas/docking - DocKing: Your shared-microservice that takes over the document templates management & render/export PDF (PHP)
README
# DocKing from ShipSaaS
## Introducing RenderPDF.io - Render your PDF in seconds
![RenderPDF.io](./.github/render-pdf-io.png)
[RenderPDF.io](https://renderpdf.io) is a Render-PDF-as-a-Service that provides developer-friendly APIs
to render your HTML content to modern PDFs files in seconds ๐.All you have to do is get your API Key and send RenderPDF.io an API call ๐, no infrastructure setup, no overhead and
hassle-free integration ๐.Get your free API Key today: [Sign Up to RenderPDF.io](https://renderpdf.io)
## Introducing DocKing
[![Build & Test (PHP 8.2)](https://github.com/shipsaas/docking/actions/workflows/build.yml/badge.svg)](https://github.com/shipsaas/docking/actions/workflows/build.yml)
[![Integration Tests](https://github.com/shipsaas/docking/actions/workflows/integration.yml/badge.svg)](https://github.com/shipsaas/docking/actions/workflows/integration.yml)
[![E2E Tests](https://github.com/shipsaas/docking/actions/workflows/e2e.yml/badge.svg)](https://github.com/shipsaas/docking/actions/workflows/e2e.yml)
[![codecov](https://codecov.io/gh/shipsaas/docking/branch/main/graph/badge.svg?token=FAZ9899IPW)](https://codecov.io/gh/shipsaas/docking)
DocKing is a document management service/microservice that handles templates and renders them in PDF format, all in one place.
You can utilize DocKing as a shared microservice, which can be integrated & used in any service from your big product.
Documentation: [DocKing](https://docking.shipsaas.tech)
DocKing is well-tested & production-ready ๐๐๏ธ๐
## LIVE DEMO ๐ฅ
URL: https://docking-demo.shipsaas.tech/
Console: https://docking-demo.shipsaas.tech/console#/
- Password: None
- Drivers:
- Gotenberg: Yes, use the Live Demo Instance (from Gotenberg.dev)
- WkHtmlToPdf: Yes, without any extensions or fonts.
- mPDF: Yes, without any extensions or fonts.
- Most of the features are disabled. You can only view & preview PDFs in multiple drivers.## Features ๐
- Manage all of your document templates just in one place ๐ฐ๐งพ.
- Dynamically render & export PDF from your desired data ๐โ.
- Supports multiple state-of-the-art PDF Engines ๐ป.
- Supports sync & async PDF rendering modes ๐ฅ.
- Webhook notification after PDF rendered (for async flow) ๐
- Built-in UI-console to manage & review the templates & files (for internal use) ๐.
- Horizontal scaling when traffic goes high? DocKing got that ๐.Check out our planned features here: [The DocKing Project](https://github.com/orgs/shipsaas/projects/1)
## Diagram of how it works
![DocKing](./docs/img/full-picture.png)
From the diagram above, DocKing is standing as a "shared-microservice".
- Billing Service can manage their bill templates and render the PDFs.
- Order Service can manage their order templates and render the PDFs.
- Contract Service can manage their contract templates and render the PDFs.
- ...Awesome, IKR?
## The Awesome Console UI
DocKing ships the Built-in Console with awesome editor & features. Help you and the team to collaborate and
manage everything easily.![DocKing's Console UI](https://iili.io/H4QDEJe.png)
Learn more: [DocKing's Console UI](https://docking.shipsaas.tech/getting-started/console-ui)
## DocKing uses
- PHP 8.2
- Laravel 10
- Any database (MySQL, PostgreSQL or SQLite - your choice)
- Personal preference: MySQL 8
- Vue 3
- Tailwind CSS### PDF Rendering Services
- Gotenberg โญ๏ธ
- wkHTMLtoPDF โ
- mPDF ๐งฐ (available since v1.1.0)## Tests
- Unit Tests to cover all functions & methods โ๏ธ
- Integration Tests to test against REAL PDF ENGINES:
- Gotenberg โ
- WkHtmlToPdf โ
- mPDF โ
- E2E Tests to validate REAL WORLD API CALLs & Rendering Async Flow## LICENSE
MIT LICENSE
## Development & Contribution Guidelines
- Please follow PSR-1 & PSR-12 coding conventions
- Unit/Integration testing is a mustThank you very much for your contributions!
## Contributors
ShipSaaS x Seth Phat & Contributors.
## Copyright
Copyright ยฉ๏ธ 2023 by ShipSaaS x Seth Phat.