nextjs nestjs prisma postgresql ecommerce

Amber Brand Fashion

A schema-first fashion e-commerce monorepo with a Next.js storefront, NestJS/Prisma API, and admin dashboard — featuring multi-warehouse logistics and hybrid USA/Myanmar payments.

Schema-first

shared Zod types across the stack

Multi-region

USA & Myanmar warehouse logistics

Hybrid

Stripe & manual payment proofs

[ role ] Full-stack engineer · Resonance Core Innovation Lab

Project specs

Tech Stack

Next.js 16 NestJS Prisma PostgreSQL Zod Stripe

R&D Focus

Full-Stack E-Commerce & Type Safety

Complexity

A premium fashion e-commerce platform built as an NPM Workspaces monorepo, with end-to-end type safety from a single shared schema layer down through the storefront, admin dashboard, and API. It handles the realities of cross-border retail — multi-warehouse inventory and hybrid payment methods between the USA and Myanmar.

Problem

Cross-border fashion retail needs more than a generic store: stock spans multiple warehouses with in-transit shipments, products must be scoped per market, and customers expect both automated card payments and manual transfer/QR proofs. Keeping three apps (storefront, admin, API) consistent without type drift demanded a schema-first foundation.

Approach

  • Schema-first core: A shared packages/shared library defines Zod schemas, TypeScript interfaces, and utilities consumed by every app — the backend validates DTOs and the frontend/admin reuse the same schemas for form validation and typed API responses.
  • Modular backend: A NestJS API organized by domain (Products, Orders, Logistics) using Prisma over PostgreSQL, with @nestjs/event-emitter for cross-module events like inventory updates after an order completes.
  • SEO-focused storefront: A Next.js 16 customer app with server-side fetching for product/collection pages, customer auth for wishlists and order history, and next-intl localization.
  • Operations dashboard: A React/Vite admin with role-based access control (RBAC) for inventory, orders, products, and content management.
  • Logistics & payments: Multi-warehouse stock tracking (USA vs. Myanmar) with an in-transit cargo state, market-scoped product visibility, Stripe webhooks for online orders, and admin review of uploaded manual payment proofs.

Outcome

  • A single source of truth for data shapes eliminates type drift across three apps.
  • Realistic cross-border commerce: per-market product scoping and warehouse-aware inventory.
  • A flexible payment model serving both international (Stripe) and local Myanmar customers (transfer/QR).

Stack notes

NPM Workspaces monorepo: backend (NestJS 11, Prisma 7, PostgreSQL, Passport/JWT, Stripe, Cloudinary, Swagger), frontend (Next.js 16, React 19, NextAuth, next-intl, Stripe, Zustand, Motion), admin (React 19 on Vite with RBAC), and shared (Zod schemas + TS types). Dockerized PostgreSQL with Prisma migrations and studio for local development.