projekti/Backend · Integracija

Pantheon Middleware

Integracijski servis produkcijske razine koji povezuje webshop s Pantheon ERP-om - uz automatsku hrvatsku fiskalizaciju i dostavu računa, od narudžbe sve do računa poslanog e-mailom.

Uloga

Backend arhitektura + izrada integracije

Tehnologije

NestJS · BullMQ · PostgreSQL

Godina

2026

arhitektura · samo naprijed
IzvorWebshop
kanonski JSON
Proces 01HTTP Receiver
202 · u red
BrokerRedis Queue
posao
Proces 02Worker
stored procs
ERPPantheon
└▶
FINAFiskalizacija · ZKI / JIR
headless Chromium
DokumentPDF računa
SMTP e-mail
PrimateljKupac
0HTTP prihvaćeno - trenutna potvrda, asinkroni rad
0Neovisna procesa, jedna baza koda
0Ručnih koraka - narudžba → fiskalizirani račun
Izazov

Što je trebao raditi.

Klijentov webshop i njihov Pantheon ERP nisu međusobno komunicirali. Narudžbe su se ručno prepisivale, računi izdavali ručno, a hrvatska fiskalizacija - zakonska obveza - bila je posve izvan tijeka.

Trebao im je servis produkcijske razine koji preuzima narudžbu iz webshopa i nosi je sve do fiskaliziranog računa poslanog e-mailom - pouzdano i bez ičijeg dodira.

Naš pristup

Kako smo to izgradili.

Izgradili smo integracijski servis koji ide samo naprijed: webshop šalje narudžbe u jednom smjeru, a middleware obavlja ostalo. Čist ugovor sprijeda, sigurni zapisi i fiskalizacija straga - jednostavno za razumijevanje, teško srušiti.

  • Vlastiti API ugovor - čist kanonski format narudžbe, objavljen kao OpenAPI/Swagger specifikacija, tako da se webshop integrira prema stabilnom, dokumentiranom sučelju.
  • Sigurni zapisi u ERP - svaki zapis ide kroz Pantheon pohranjene procedure (nikad izravni unosi), umotan u transakcije, uz numeriranje dokumenata u vlasništvu ERP-a.
  • Hrvatska fiskalizacija - vlastito generiranje ZKI/JIR, potpisani XML i QR kodovi, integracija s FINA-om, uz kontrolirani prijelaz s demo na produkcijski certifikat.
  • Automatsko fakturiranje - PDF računi renderirani headless Chromiumom, dostavljeni kupcu e-mailom putem SMTP-a.
  • Otporno i idempotentno - trajan red poslova s ponovnim pokušajima i odgodom, praćenje stanja sigurno na pad, obrada dead-letter poruka i automatsko ponovno spajanje na ERP.
  • Nadzorljivo - strukturirano JSON bilježenje s korelacijskim ID-jevima kroz cijeli životni ciklus zahtjeva, provjere zdravlja/spremnosti za svaku ovisnost i nadzorna ploča reda.
Arhitektura

Dva procesa, jedna baza koda.

Servis radi kao dva neovisna procesa iz jedne baze koda, tako da se svaki može skalirati i pasti zasebno bez rušenja drugoga.

Proces 01

HTTP Receiver

Provjerava i autentificira dolazne narudžbe, stavlja ih u red i odmah vraća 202 Accepted - webshop nikad ne čeka ERP.

Proces 02

Worker

Sinkronizira narudžbe u Pantheon, prati fiskalizaciju, zatim renderira PDF račun i šalje e-mail - uz ponovne pokušaje i odgodu u svakom koraku.

Lokalno stanje - ključevi idempotentnosti, korelacija ID-jeva i revizijski zapis - živi u PostgreSQL; broker poruka je Redis.
Tehnologije

Odabrano zbog pouzdanosti.

Okruženje / jezikNode.js 20+ · TypeScript 5 (strogi)
OkvirNestJS 10
Red poslovaBullMQ + Redis
Pohrana stanjaPostgreSQL + Prisma
Pristup ERP-uMS SQL Server - izravni TDS
PDF računaHeadless Chromium (Puppeteer)
E-mailSMTP (nodemailer)
FiskalizacijaPotpisani XML · node-forge · QR kodovi
Nadzorljivostpino logging · Swagger / OpenAPI
IsporukaDocker + Docker Compose
Inženjerska kvaliteta

Izgrađeno za predaju.

  • TypeScript strogi način s dodatnim sigurnosnim zastavicama te tipizirane klase pogrešaka s lancima uzroka.
  • Jedinični, integracijski (protiv žive Pantheon test instance) i end-to-end testovi.
  • Dva načina isporuke - samostalni handoff tarball za vanjske operatere ili deploy iz repozitorija s alatima za ponovni deploy / backup / rollback.
  • Dvojezična (EN / HR) dokumentacija za isporuku i predaju klijentu.
Status

Gdje se nalazi.

Osnovni tijek je izgrađen i integracijski testiran od kraja do kraja protiv žive Pantheon instance: zaprimanje narudžbe → osiguranje kupca → ERP narudžba i račun → fiskalizacija → PDF → e-mail.

Kontejnerizirana isporuka i nadzorljivost su dovršeni; prijelaz na produkcijski fiskalizacijski certifikat dokumentiran je kao runbook, spreman za go-live.

integracijski testirano · živa Pantheon instanca
  • zaprimanje narudžbe
  • osiguranje kupca
  • ERP narudžba i račun
  • fiskalizacija (ZKI / JIR)
  • PDF računa renderiran
  • dostava e-maila
  • kontejnerizirano + nadzorljivo
  • runbook prijelaz na produkcijski certifikat
Sljedeći projekt

WooCommerce × Pantheon

OTVORENI ZA NOVE PROJEKTE

Imaš sličan projekt?

Reci nam što gradiš. Javljamo se u roku od jednog radnog dana s jasnim planom, rokovima i pravom osobom za razgovor.