← cd ../#projects

Gazu — Cloud-Native Headless E‑Commerce

Enterprise decoupled commerce engine with Next.js 15 (App Router), React 19, Vendure/NestJS GraphQL core, k3s GitOps via ArgoCD, automated Docker CI/CD, Traefik anti-CORS ingress, and full-stack observability.

Live Demo
Next.js 15Next.js 15React 19React 19Vendure CoreNestJSNestJSKubernetes (k3s)Kubernetes (k3s)ArgoCDArgoCD+10
01 / 04
Storefront Editorial — Fashion That Moves With You
Storefront Editorial

Experiencia de aterrizaje editorial y catálogo con tipografía de alto impacto, fotografía de alta costura y renderizado SSR instantáneo en Next.js 15 App Router.

Abrir Storefront en Vivo

01.Project Overview

Enterprise decoupled commerce engine on Kubernetes (k3s). Features Next.js 15 App Router, Vendure GraphQL APIs, declarative GitOps with ArgoCD & Kustomize, automated CI/CD pipelines, Traefik anti-CORS routing, and production observability (OTel, Prometheus, PostHog).

Next.js 15 · React 19
Next.js 15 Editorial Storefront

App Router storefront built with React 19, reactive local storage cart synchronization, and strict a11y accessibility standards.

GraphQL · Vendure Core
Vendure / NestJS GraphQL Core

Modular commerce core with type-safe GraphQL Shop & Admin APIs, customizable plugin architecture, and PostgreSQL.

ArgoCD · k3s GitOps
k3s GitOps & ArgoCD Pipeline

Cloud-native cluster orchestration with declarative GitOps continuous delivery, Kustomize overlays, and self-healing.

02.The Problem

Monoliths couple catalog browsing with transactional logic, while decoupling services introduces CORS friction, persistence risks, and operational fragility under manual deployments.

  • Storefront rendering competes with transactional checkout for CPU and database connections, degrading conversion during traffic surges.
  • Decoupling frontend and backend across separate domains creates recurring CORS preflight latency and fragile cookie handling.
  • Deploying changes manually via kubectl apply without GitOps causes configuration drift and lack of auditability during outages.
  • Running relational databases as disposable stateless pods risks data loss and volume detachment during rolling updates.

03.What I Built & Architecture

Engineered a decoupled headless commerce engine on Kubernetes (k3s) with declarative GitOps delivery, immutable containers, and production observability.

ArgoCD Controller + Kustomize Overlays

Eliminates configuration drift with automated reconciliation and self-healing from Git.

Docker Buildx + GitLab CI / GitHub Actions

Builds immutable cached container images, guaranteeing fast, reproducible rollouts with zero service downtime.

Traefik Ingress + Let's Encrypt Cert-Manager

Consolidates storefront, API, and back-office under one domain with automatic TLS, eliminating CORS.

Stateless App Pods + PostgreSQL StatefulSet

Scales stateless application pods independently while isolating PostgreSQL with dedicated PVCs to safeguard transactions.

OpenTelemetry + Prometheus + PostHog Proxy

Combines OTel distributed tracing, live Prometheus gauges, and privacy-compliant PostHog analytics routed through Next.js.

✦Cluster Topology & Data Flow

Open full diagram

Diagrama interactivo ilustrando Traefik Ingress, pods de Next.js, APIs de Vendure, StatefulSet de PostgreSQL y OpenTelemetry.

Archify :: Interactive System Topology
Topología k3s
Optimized mobile viewOpen interactive

04.Live Cluster Inspection & Endpoints

Direct technical inspection links and terminal commands: test the GraphQL Playground, live Prometheus metrics, or PostHog telemetry.

Storefront (Production)Next.js 15 · Production

High-performance luxury editorial storefront with App Router, reactive local persistence, and strict a11y accessibility.

gazu.jhojan.cloud→
Garment Catalog & FiltersShop Catalog

Product catalog with dynamic variants, reactive facet filters, and instant SSR rendering.

gazu.jhojan.cloud/shop→
Product Detail (PDP)PDP · High-Res

Technical garment sheet with size selector and high-resolution asset delivery.

gazu.jhojan.cloud/product/gazu-01→
Decoupled Checkout Pipeline7-Stage Checkout

Decoupled 7-stage state machine handling transactional purchasing, tax computation, and order placement.

gazu.jhojan.cloud/checkout→
Admin Dashboard (Vendure)Vendure Admin

Administrative control plane for catalog, inventory, and orders. (User: superadmin / Pass: superadmin123).

gazu.jhojan.cloud/dashboard→
GraphiQL IDE (Shop API)GraphQL · Playground

Interactive query playground to inspect the commerce catalog schema and mutations.

gazu.jhojan.cloud/graphiql/shop→
Real-Time Observability (Prometheus)Prometheus · Live

Real-time operational metrics showing Node.js runtime health, event loop latency, and database query timings.

gazu.jhojan.cloud/metrics→
Staging Environment (Develop)k3s Staging

Isolated testing environment with dedicated database for pre-release validation before production rollout.

dev.gazu.jhojan.cloud→
Gazu E-Commerce — Dashboard de Analítica en ProducciónPostHog · En Vivo

Dashboard oficial de telemetría de producto monitoreando embudos de conversión, retención y sesiones de usuario en vivo.

us.posthog.com/shared/_uRfNfPeo8K51Tamsl3BvzNeEcVdPA→
Terminal Verification (Direct cURL)
Query the live GraphQL API via Terminal
curl -X POST https://gazu.jhojan.cloud/shop-api \
  -H "Content-Type: application/json" \
  -d '{"query": "{ activeChannel { id code defaultLanguageCode currencyCode } }"}'
Audit Ingress SSL Certificate & HTTP Headers
curl -I https://gazu.jhojan.cloud/
Inspect Prometheus Runtime Metrics
curl https://gazu.jhojan.cloud/metrics | grep vendure