Back to projects
Fullstack2024Featured

Fullkala — Multi-tenant Iranian E-commerce Platform

Full-stack multi-shop e-commerce platform (storefront, admin, landing, API) as a Turborepo monorepo—Next.js 16, NestJS, Prisma/PostgreSQL, and Spree Commerce for catalog, cart, and 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 Iranian E-commerce Platform — 1

Overview

What was built

Designed and built a headless multi-tenant commerce platform with a customer storefront, admin dashboard, marketing landing site, and NestJS REST API.

Next.js App Router + Server Actions power the frontend; NestJS + Prisma/PostgreSQL handle platform services (auth, tenants, CMS, shipping, AI); Spree Commerce powers catalog, cart, and checkout via @spree/sdk.

Delivered subdomain-based shop isolation (JWT tenantId), a shared CMS/page-builder pipeline, Persian i18n/RTL, payments (Stripe, PayPal, Adyen + local/BNPL), Socket.io realtime features, and S3-compatible media—organized as pnpm + Turborepo apps (web, admin, landing, api) with shared packages for database, validators, types, page-builder, config, logger, and UI.

01

Challenges

Isolate multi-shop tenants without duplicating infrastructure; keep a four-app Turborepo DX fast; connect a headless Spree catalog/cart/checkout flow to NestJS platform services; ship Persian RTL/i18n, CMS page-builder, payments, and admin analytics as one coherent product surface.

02

Solutions

Modular NestJS (controllers/services) with Prisma/PostgreSQL and subdomain + JWT tenantId isolation; Next.js 16 / React 19 storefront with Server Components, Server Actions, Suspense, and Spree via @spree/sdk; admin with TanStack Query/Table, React Aria, and Recharts; shared Zod contracts and page-builder package; Stripe/PayPal/Adyen (+ local BNPL); Socket.io realtime; Biome, Vitest, Playwright, Docker, Sentry, and S3-compatible storage.