• Backend Developer
  • 2025
  • Microservicios / Cloud

EconoMarket

E-commerce completo construido en equipo sobre microservicios: catálogo, carrito, checkout con cupones, pagos con cartera digital, órdenes, devoluciones, notificaciones y conversión de moneda. Fui responsable de los servicios de Carrito/Checkout y Órdenes.

stack tecnológico

  • Python
  • FastAPI
  • gRPC
  • Protocol Buffers
  • SQL Server
  • Redis
  • Docker
  • Kubernetes
  • Terraform
  • GCP
  • GitHub Actions
  • ELK Stack
  • Vue 3
  • Go
  • TypeScript

// arquitectura

  1. Vue 3 SPA
  2. API Gateway
  3. Microservicios (gRPC)
  4. SQL Server + Redis
  5. GKE

// capturas

Catálogo y carrito de compras
Catálogo y carrito de compras
Login y JWT
Login y JWT
Registro
Registro
Agregar producto al carrito
Agregar producto al carrito

// contexto del proyecto

EconoMarket es una plataforma de comercio electrónico construida sobre una arquitectura de microservicios: una SPA en Vue 3, un API Gateway y nueve servicios independientes escritos en Go, TypeScript y Python, respaldados por SQL Server y Redis. Se eligieron microservicios en lugar de un monolito para que cada dominio del negocio pudiera desarrollarse, desplegarse y escalar por separado, incluso con lenguajes distintos, y la comunicación entre ellos se resolvió con gRPC y contratos en Protocol Buffers para garantizar mensajes tipados y eficientes. La plataforma incluye catálogo con proveedores externos, carrito y checkout con cupones, pagos con tarjeta o cartera digital, órdenes con historial y devoluciones, notificaciones por correo y conversión de moneda, todo desplegado en Kubernetes (GKE) con infraestructura en Terraform, CI/CD en GitHub Actions y observabilidad con ELK y Grafana.

// retos técnicos

  • Orquestar el checkout como una transacción distribuida: validar stock en Catálogo, cobrar en Pagos (tarjeta, cartera o pago mixto), crear la orden y disparar la confirmación por correo, todo vía gRPC entre servicios en distintos lenguajes.
  • Diseñar un sistema de cupones con validaciones de vigencia, estado activo, límite de usos global y por cliente, registrando cada canje para evitar su reutilización indebida.
  • Modelar el ciclo de vida de las órdenes (PENDING → PAID → COMPLETED / CANCELLED) con historial de cambios de estado, además de un flujo de devoluciones con aprobación o rechazo por parte de un administrador.
  • Implementar un CronJob de Kubernetes que detecta carritos inactivos por más de 24 horas y envía recordatorios de carrito abandonado a través del servicio de Notificaciones.
  • Instrumentar los servicios con logs estructurados en JSON y health checks (liveness/readiness) para integrarlos con ELK, Fluent Bit y los probes de Kubernetes.

// resultados obtenidos

  • Servicios de Carrito/Checkout y Órdenes funcionales e integrados con el resto de la plataforma a través de contratos gRPC y OpenAPI documentados.
  • Plataforma desplegada en Google Cloud con Kubernetes, Ingress con certificados TLS (cert-manager) e infraestructura reproducible con Terraform.
  • Pipeline de CI/CD en GitHub Actions que construye y prueba cada microservicio en cada push.
  • Experiencia práctica en trabajo colaborativo sobre un monorepo con más de 230 commits, ADRs y documentación técnica compartida.