Skip to content

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

License

Notifications You must be signed in to change notification settings

shipsaas/docking

Repository files navigation

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.