shipsaas / docking

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

Home Page:https://docking.shipsaas.tech

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DocKing from ShipSaaS

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 services 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.

About

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

https://docking.shipsaas.tech

License:MIT License


Languages

Language:PHP 59.8%Language:Vue 27.2%Language:JavaScript 4.5%Language:CSS 3.4%Language:HTML 2.0%Language:Blade 1.8%Language:Dockerfile 0.9%Language:Shell 0.3%