/pedeef

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

Primary LanguagePHPMIT LicenseMIT

DocKing from ShipSaaS

Introducing RenderPDF.io - Render your PDF in seconds

RenderPDF.io

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

Introducing DocKing

Build & Test (PHP 8.2) Integration Tests E2E Tests codecov

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

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

Diagram of how it works

DocKing

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

Learn more: DocKing's 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.