Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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: 3 months ago
JSON representation

DocKing: Your shared-microservice that takes over the document templates management & render/export PDF

Awesome Lists containing this project

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 must

Thank you very much for your contributions!

## Contributors

ShipSaaS x Seth Phat & Contributors.

## Copyright

Copyright ยฉ๏ธ 2023 by ShipSaaS x Seth Phat.