2026
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-backend — Express 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_DELIVERYin schema; storefront UI offers COD and bank transfer) - Inventory — warehouse stock per variant, reservations,
ProductSearchindex 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.