Skip to content
personal project· ongoingProject 04 / 10

E-Commerce Dynamic Platform

Production-oriented modular monolith e-commerce — cart, orders, payments, catalog, promotions, returns, shipping, admin analytics, event-driven outbox, and dynamic theming on Next.js 16 storefront.

  • Next.js 16
  • React 19
  • TypeScript
  • Express 5
  • MongoDB
  • PostgreSQL
  • Redis
  • AWS S3
  • Prometheus
  • Vitest
  • Tailwind CSS 4

01

Problem

Building scalable e-commerce required more than a basic cart — needing transactional order lifecycle, payment/refund handling, promotions, returns, and observable event-driven architecture.

02

Solution

Built comprehensive e-commerce platform with Express 5 + TypeScript backend (MongoDB + PostgreSQL + Redis), transactional outbox pattern, Prometheus metrics, and Next.js 16 + React 19 storefront with dynamic theming.

03

Architecture

Modular monolith backend with cart, order, payment, catalog, customer, promotion, return, shipping modules. Next.js 16 App Router frontend with Tailwind CSS 4. AWS S3 for media. Vitest for testing.

04

Business impact

Demonstrates production-grade e-commerce architecture with event-driven patterns, observability, and comprehensive order lifecycle management.

Decisions

Technical decisions

  1. 01Transactional outbox over direct event emission for reliability
  2. 02Next.js 16 App Router for SEO-optimized storefront
  3. 03Prometheus + Vitest for observability and test coverage

Features

Feature breakdown

  • Cart & Checkout
  • Order Lifecycle
  • Payments & Refunds
  • Catalog
  • Promotions
  • Returns
  • Shipping
  • Admin Analytics
  • Dynamic Theming

Responsibilities

  • Architected modular monolith with transactional outbox for event-driven order processing
  • Built cart, checkout, order lifecycle, payments, and refund modules
  • Implemented catalog CRUD/search, promotions, returns, and shipping modules
  • Developed Next.js 16 storefront with dynamic theming and admin analytics

Challenges

  • Implementing transactional outbox reliably across MongoDB and PostgreSQL
  • Designing promotion engine rules that compose without conflicting

Performance considerations

  • Redis caching for catalog and session data
  • Prometheus metrics for API latency monitoring
  • Transactional outbox batch processing

Lessons learned

  • Transactional outbox pattern decouples order events from downstream processing
  • Prometheus metrics from day one simplify production debugging