Terug naar projecten
Fullstack2024Uitgelicht

Fullkala — Multi-tenant Iraans e-commerceplatform

Full-stack multi-shop e-commerceplatform (storefront, admin, landing, API) als Turborepo-monorepo—Next.js 16, NestJS, Prisma/PostgreSQL en Spree Commerce voor catalogus, winkelwagen en checkout.

  • Next.js 16
  • React 19
  • NestJS
  • TypeScript
  • Prisma
  • PostgreSQL
  • Spree Commerce
  • Turborepo
  • pnpm
  • Tailwind CSS
  • Server Actions
  • next-intl
  • TanStack Query
  • Zod
  • Socket.io
  • Stripe
  • Docker
  • Playwright
  • Vitest
  • AWS S3
Fullkala — Multi-tenant Iraans e-commerceplatform — 1

Overzicht

Wat er is gebouwd

Headless multi-tenant commerceplatform met klantstorefront, admin-dashboard, marketinglanding en NestJS REST API.

Next.js App Router + Server Actions op de frontend; NestJS + Prisma/PostgreSQL voor platformservices (auth, tenants, CMS, verzending, AI); Spree Commerce voor catalogus, cart en checkout via @spree/sdk.

Subdomein-gebaseerde winkelisolatie (JWT tenantId), gedeelde CMS/page-builder, Perzisch i18n/RTL, betalingen (Stripe, PayPal, Adyen + lokaal/BNPL), Socket.io-realtime en S3-compatibele media—als pnpm + Turborepo-apps (web, admin, landing, api) met shared packages voor database, validators, types, page-builder, config, logger en UI.

01

Uitdagingen

Multi-shop-tenants isoleren zonder infrastructuur te dupliceren; snelle Turborepo-DX over vier apps; headless Spree-catalogus/cart/checkout koppelen aan NestJS-platformservices; Perzisch RTL/i18n, CMS page-builder, betalingen en admin-analytics als één samenhangend product leveren.

02

Oplossingen

Modulair NestJS (controllers/services) met Prisma/PostgreSQL en subdomein + JWT-tenantId-isolatie; Next.js 16 / React 19-storefront met Server Components, Server Actions, Suspense en Spree via @spree/sdk; admin met TanStack Query/Table, React Aria en Recharts; gedeelde Zod-contracten en page-builder-pakket; Stripe/PayPal/Adyen (+ lokaal BNPL); Socket.io-realtime; Biome, Vitest, Playwright, Docker, Sentry en S3-compatibele storage.