// progetti

DocMorph — Conversione DOCX in PDF via microservizio HTTP

Microservizio HTTP stateless che converte DOCX in PDF via LibreOffice, con auth API key, rate limiting e immagine Docker multi-stage

DocMorph — Conversione DOCX in PDF via microservizio HTTP

DocMorph converte documenti .docx in PDF esponendo un'API HTTP minimale (`POST /convert`, `GET /health`) pensata per uso container-first e sicura sotto concorrenza. Un pool a semaforo orchestra le conversioni LibreOffice headless con isolamento per job, mentre auth API key, validazione degli upload e rate limiting proteggono il servizio in produzione. La stack è completata da un'immagine Docker multi-stage e una landing React con prerendering SSR, distribuita via GitHub Actions.

// features
  • »API REST con validazione upload .docx via magic-byte OOXML e verifica integrità del PDF prodotto con assertion %PDF
  • »Pool a semaforo con max 3 conversioni LibreOffice simultanee e profilo utente dedicato per job, per isolamento totale tra le richieste
  • »Auth API key con hashing SHA-256 e confronto timingSafeEqual, abbinata a rate limiting per IP con header RateLimit draft-8
  • »Immagine Docker multi-stage con LibreOffice Writer e font Microsoft core, eseguita come utente non-root con dumb-init e healthcheck pubblico
  • »Landing React 19 + Vite 7 con prerendering SSR, syntax highlight Shiki e plugin Subresource Integrity
  • »Deploy automatico su GitHub Pages via GitHub Actions con build TypeScript, prerendering e dominio custom via CNAME
// skills
Node.js 22TypeScriptExpressMulterREST APILibreOffice headlessDockerGitHub ActionsGitHub PagesReact 19ViteShikiSHA-256Subresource Integrity