Dokumentation/Kom i gang

Arkitektur i overblik

KlarSidst gennemgået 2026-10-06

Platformen er en headless, multi-tenant, lagdelt modulær monolit. Det betyder: ét API, ét backoffice, én database – og frontends, der er helt adskilt fra resten.

Lagene#

  1. Routes modtager forespørgsler, validerer input og kalder en service. Ingen forretningsregler her.
  2. Services ejer forretningsreglerne og er det eneste lag, der taler med databasen.
  3. Domænet kender kun grænseflader (betaling, fragt, markedspakke) – aldrig en bestemt udbyder.
  4. Adaptere er de konkrete forbindelser til Wompi, Stripe, kurerer, e-mail osv.

Isolering mellem shops#

Hver række i databasen har et tenant_id, og databasen håndhæver med Row Level Security, at en forespørgsel kun ser sin egen shops rækker. Isolationen dækkes af automatiske tests.

Teknologi#

TypeScript overalt. API: Node.js og Fastify. Database: PostgreSQL med Drizzle. Backoffice: React (Vite) med Tailwind. Storefront-skabelon: Next.js.

Principper der beskytter dig som frontend-bygger#

  • Serveren regner. Pris, moms, fragt, lager og totaler beregnes altid i API'et. En frontend kan ikke ændre dem.
  • Ordrer er uforanderlige, når de er oprettet.
  • Betaling bekræftes kun af udbyderen (webhook eller afstemning) – aldrig af browseren.
  • /v1 ændres kun additivt. En selvhostet frontend skal ikke gå i stykker, fordi vi opdaterer.