Enterizos Shop
Plataforma para gestionar el ciclo completo de una tienda de ropa: catálogo, inventario, pedidos, pagos, facturación y envíos. La base ya está construida y probada (arquitectura y reglas de negocio); la tienda y las integraciones reales serán las próximas etapas.
- Estado
- En desarrollo
- Desde
- julio de 2026
- Stack
- Next.jsTypeScriptPostgreSQLPrismaTurborepoGraphile WorkerBetter AuthVitestGitHub Actions
Problemas y cómo los resolví
- 01
ProblemaEl inventario de una tienda pierde precisión cuando solo se guarda un número que se sobrescribe.
SoluciónLo diseñé como un registro de movimientos: cada entrada, salida o ajuste queda documentado, de modo que el stock puede reconstruirse y conciliarse (decisión registrada en un ADR).
- 02
ProblemaUn pedido nunca debe quedar en un estado inconsistente, como enviado sin estar pagado.
SoluciónLos pedidos siguen una máquina de estados explícita, con las transiciones permitidas definidas de antemano.
- 03
ProblemaLos eventos entre la base de datos y las tareas en segundo plano no pueden perderse.
SoluciónPatrón outbox transaccional: el evento se guarda en la misma transacción que el cambio y un worker con Graphile Worker lo procesa.
- 04
ProblemaEn un proyecto de esta escala, la arquitectura tiende a deteriorarse con cada cambio si no se supervisa.
SoluciónReglas de dependencias entre módulos verificadas automáticamente en cada cambio, junto con integración continua, análisis de seguridad con CodeQL y detección de código sin uso.
Qué está construido
- Arquitectura documentada y congelada, con 14 decisiones registradas (ADR).
- Monorepo con aplicación web, worker de tareas y controles de calidad automatizados.
- 36 módulos de negocio (catálogo, inventario, carrito, pedidos, pagos, facturación y envíos, entre otros), cada uno con sus pruebas.
- Una prueba automatizada que recorre el flujo completo de una venta, desde el catálogo hasta el envío.
Qué sigue en desarrollo
- Conectar los módulos a la base de datos (actualmente almacenan los datos en memoria).
- Panel de administración de catálogo e inventario, en desarrollo.
- Tienda pública e integración con proveedores reales de pago, facturación y envíos.
- Piloto privado con pedidos reales.
