Back to Projects

Beena Collections

2026

Next.js
TypeScript
Tailwind CSS
Express
Prisma
MongoDB
Firebase Storage
JWT
Zod

Pakistan fashion e-commerce for stitched and unstitched wear, nighty, perfumes, and accessories — editorial storefront, guest-friendly cart, COD checkout, and a full admin ops panel. Next.js 16 frontend paired with Express + Prisma on MongoDB.

Overview

Beena Collections is a production fashion e-commerce platform for a Pakistan-based label in Islamabad selling stitched and unstitched wear, nighty, perfumes, and accessories — with both a owned storefront and Daraz marketplace presence.

The work spans beenacollections (Next.js 16, React 19, Tailwind v4, Radix UI) and beenacollections-backendExpress 4 + Prisma on MongoDB. Product media uploads to Firebase Storage; auth uses JWT in httpOnly cookies with optional login OTP and email verification.

Storefront

The public site uses a quiet-luxury editorial layout: split hero, shop-by-category grid, featured products, and category store pages under /store/[slug].

Shop (/shop, /product/[slug]) — browse catalogue with variant pickers (color, size), PKR pricing, reviews, and optional Buy on Daraz links per product. Cart supports guest sessions (auto-created guest users) and authenticated customers. Checkout collects delivery details with cash on delivery or bank transfer — no card gateway in-repo.

Account — sign-up, sign-in, OTP verify, forgot/reset password, order history. WhatsApp float for direct customer contact.

Admin & operations

Protected /admin area with sidebar navigation for day-to-day operations:

  • Products — full CRUD with variants, attributes, media upload, drag-and-drop ordering (@dnd-kit), and a visual product map editor for bulk variant management
  • Catalog — categories, brands, collections, tags, warehouses, and per-variant stock
  • Orders & customers — order list/detail, status updates, customer profiles
  • POS — in-store point-of-sale screen
  • Settings — general, contact, branding, integrations

Admin product editor supports darazUrl per SKU for marketplace cross-linking.

Backend API

The beenacollections-backend service exposes REST under /api:

  • Auth — sign-up/in, login OTP, email verify, password reset, JWT sessions, guest user creation
  • Catalog — products, variants, attributes, brands, categories, collections, tags, wishlist, reviews
  • Cart & orders — guest or authenticated cart, checkout with address snapshots, order events, and payment records (CASH_ON_DELIVERY in schema; storefront UI offers COD and bank transfer)
  • Inventory — warehouse stock per variant, reservations, ProductSearch index for fast filtering

Performance — in-memory cache with startup warmup, query monitoring, and paginated product endpoints (/products/minimal, /variants/fast).

Technical notes

Frontend server actions call NEXT_PUBLIC_API_URL with JWT forwarded from cookies. Zod validates checkout forms; react-hook-form in admin. Recharts powers dashboard charts (some dashboard widgets still use mock data for layout).

Transactional email via Nodemailer templates (signup OTP, password reset). Database admin tools include backup sync and Prisma client restart endpoints. Deployed for beenacollections.com with CORS-whitelisted frontend origins.