Project

E-Commerce Platform

A full-stack e-commerce platform for the Bangladeshi market, with local payments, order management, and customer support.

Features

01Storefront

  • Home, shop, product detail, categories, collections, and deals pages, each with dedicated search and cart routes

  • Product detail pages carry variants, galleries per variant, and customer Q&A

  • Product search is full-text on PostgreSQL, ranked by relevance and filtered as you browse, with every search term logged for the admin analytics

  • Cart and wishlist live server-side, and guests get their own carts through a session header

  • Checkout works for guests, with public order tracking at /orders/track

  • Ratings come with helpfulness voting, and the support side moderates reviews

  • CMS pages resolve from a slug catch-all and are managed from the admin

  • Cookie consent and a light or dark theme toggle round it off

02Payments

  • Stripe Checkout with signature-verified webhooks, and refunds for the full amount or part of it

  • Cash on delivery comes with an admin mark-paid action, and stock commits once the order does

  • bKash, Nagad, and bank-transfer rails sit alongside the card checkout

  • Itemised PDF invoices with the line labels in Bengali

  • Coupons and shipping methods are managed from the same panel

03Admin panel

  • An analytics dashboard tracks the most-viewed, most-searched, and most-ordered products, plus the view-to-cart-to-order funnel

  • CRUD over products, categories, brands, banners, coupons, menus, and CMS pages

  • Orders management with invoice views, a returns screen, and status updates

  • Customer and user pages guarded by admin and super-admin roles

  • Theme and appearance editors, backed by settings that live in the database

  • An email template editor and a browser for the audit log

04Backend & integrations

  • The NestJS REST API handles JWT access and refresh tokens, Google OAuth, and Firebase identity verification

  • The Gemini customer chat stays grounded in live product data through function-calling tools

  • Emails queue through Bull on Redis, covering the order lifecycle, verification, and refunds, retries included

  • The media pipeline produces Sharp image variants and blur placeholders behind S3 and Cloudinary adapters

  • Rate limiting, an audit-log interceptor, Prometheus metrics, and Swagger docs sit on top

05Engineering

  • A Turborepo monorepo holds the Next.js app, the NestJS API, and shared type and config packages

  • Jest unit tests run against a mocked Stripe, while Playwright specs walk the shopping, auth, and admin flows

  • The deploy is Dockerised, with health checks and smoke tests running in CI

Technologies

Next.js 14React 18TypeScriptTailwind CSSTipTapZodNestJSPrismaPostgreSQL 16RedisBull queuesStripeGeminiFirebaseS3/CloudinaryPDFKitPrometheusSwaggerTurborepoJestPlaywrightDocker