CartPulse is a full-stack marketplace built with Next.js 16, React 19, Prisma 7, and PostgreSQL. It ships a public storefront with 200+ products across 8 verified stores, a 3-level category tree, color/size variants, flash deals, and digital downloads — all backed by a real database with no mock catalog API.
Shoppers get search, filters, sort, and pagination on the catalog; a Redux cart persisted to localStorage with server-side price validation at checkout; wishlist sync; multi-step checkout with Cash on Delivery or Stripe; order PDFs; and a My Account area for orders, addresses, reviews, notifications, and a digital library.
Admins manage products, categories, stores, coupons, and orders through a separate panel with KPI charts, CSV/XLSX export, inventory tracking, and role-based permissions for ADMIN and SUPER_ADMIN.
The Challenge
Client Objectives
Ship a real multi-store marketplace with a live database—not a mock catalog.
Support bilingual shopping (en/bn) with a complete storefront and checkout flow.
Give admins inventory, orders, coupons, and KPI tools with role-based access.
Handle both physical COD and Stripe payments plus digital product downloads securely.
Core Challenges
Modeling multi-store catalog data with variants, categories, and inventory sync.
Keeping cart prices trustworthy with server-side validation at checkout.
Building bilingual routing and storefront UX without duplicating business logic.
Separating customer and admin experiences while sharing one backend domain model.
My Solution
I developed CartPulse as a full-stack marketplace on Next.js, Prisma, and PostgreSQL. I built the bilingual storefront, Redux cart with server-side checkout validation, Stripe/COD payment flows, NextAuth authentication, and role-based admin dashboards for products, orders, and inventory. The result is a production-style marketplace with layered repository/service architecture and real database-backed catalog data.
Key Highlights
The storefront covers the full shopping journey — hero sliders, category navigation, strategy-driven product shelves (best sellers, new arrivals, recently viewed), catalog search with URL-driven filters, and product detail pages with color/size variant pickers.
Checkout is a multi-step flow with saved delivery addresses, promo code support, and two payment paths: Cash on Delivery for physical goods and Stripe Checkout for card payments.
Authentication uses NextAuth v5 with JWT sessions — credentials login, optional Google and GitHub OAuth with automatic account linking by email, email verification, and password reset via Resend.
The admin panel gives store operators KPI overview charts, a 3-level category tree, multi-store product management with variant stock sync, order fulfillment with status workflows that trigger customer notifications, coupon CRUD, and table export.