Tienda online de muebles CR con panel admin
Plataforma de comercio electrónico construida con Next.js App Router y arquitectura por dominios. Incluye autenticación, carrito, checkout, órdenes, pagos y control de inventario, con reglas especiales para productos por encargo.
Reto
Construir una tienda online robusta con operaciones transaccionales seguras, control de inventario por tipo de producto y panel admin para operar pagos/órdenes sin inconsistencias.
Solución
Se implementó arquitectura modular con casos de uso por dominio, contratos estables de server actions y reglas transaccionales en checkout, cancelación y confirmación de pagos. Se agregaron guards de autorización, rate limiting y validación de entorno para endurecer seguridad operativa.
Resultados
- - Flujo completo de compra desde catálogo hasta orden confirmada
- - Panel admin funcional para operaciones diarias de órdenes y pagos
- - Manejo correcto de productos por encargo sin bloqueo de stock
- - Consistencia de montos monetarios usando enteros en colones
- - Base escalable para evolucionar promociones, envíos y catálogo
Ficha técnica del sistema
Resumen
Tienda online de muebles para Costa Rica con experiencia pública de compra y panel administrativo privado para operar catálogo, inventario, órdenes y pagos con reglas de negocio seguras.
Qué problema resuelve
- - Centraliza venta online y operación administrativa en una sola plataforma
- - Controla inventario de forma distinta para productos normales y por encargo
- - Evita inconsistencias en órdenes/pagos mediante reglas de estado
- - Reduce errores de cálculo monetario guardando montos enteros en CRC
Stack y tecnologías
- - Next.js 16 + React 19 + TypeScript
- - PostgreSQL + Prisma
- - better-auth (email/password y opcional Google)
- - Zustand para estado cliente (carrito, dirección, UI)
- - Zod para validación
- - Tailwind + componentes custom y Radix
Cómo está organizado
- - src/app: rutas y layouts de shop/auth/admin
- - src/features: dominios (products, orders, payments, checkout, inventory, account)
- - src/shared: UI reusable y lógica pura de dominio
- - src/lib: infraestructura (prisma, auth, env, email, rate limit)
- - Reglas de capas documentadas en ARCHITECTURE.md
Flujo principal
- - Cliente navega catálogo, agrega al carrito y realiza checkout
- - Servidor recalcula totales y valida disponibilidad
- - Si no es por encargo, descuenta stock dentro de transacción
- - Admin confirma/rechaza pagos según reglas de estado
- - Cancelación admin restaura inventario y sincroniza pagos pendientes
Módulos clave
- - Orders: place-order y cancel-order transaccionales
- - Payments: confirmación/rechazo con guardas de estado
- - Inventory: control por producto y modo made-to-order
- - Auth: guards requireAdmin/requireAdminAction
- - Checkout: pasos de dirección y verificación final
Fortalezas
- - Excelente separación por dominio y mantenibilidad
- - Flujos críticos protegidos por transacciones
- - Seguridad operativa con rate limit + validación de env
- - Pipeline de calidad y despliegue bien definido
Riesgos / deuda técnica
- - Reglas de negocio de estados pueden crecer en complejidad
- - Dependencia de Redis externo para rate limiting
- - Manejo de concurrencia en inventario requiere monitoreo continuo
- - Costos de email/notificaciones pueden crecer con volumen
¿Tienes un sistema que necesitas construir o mejorar?
Te ayudo a convertir tu necesidad en una solución técnica sólida, mantenible y alineada al negocio.