Back to projects
ECOMMERCEProduction

Agates From Mexico

Custom e-commerce platform for Agates From Mexico, with storefront, admin panel and role-based access control.

Contexto

Agates From Mexico es una tienda en línea construida a medida sobre Next.js. El proyecto cubre toda la experiencia: storefront público, flujo de compra y un panel administrativo con control de acceso por roles.

Arquitectura

El App Router se organiza en route groups —(landing), (shop), (auth)— más las secciones admin y api. El código sigue una separación estricta:

  • services/ — única capa de consultas a base de datos, por dominio (producto, carrito, orden, descuentos, envíos, roles, permisos), con consultas tipadas.
  • integrations/ — wrappers por proveedor (Stripe, PayPal, Cloudinary, ShipStation, PostHog, Redis, SMTP, reCAPTCHA).
  • lib/ — autenticación, pool de base de datos, server actions, validadores y carrito.
  • migrations/ — migraciones SQL con node-pg-migrate.

La autorización es un modelo RBAC: catálogo de permisos en código, membresía de roles en base de datos y enforcement vía requirePermission() en páginas y server actions.

Stack

  • Next.js + TypeScript + Tailwind CSS.
  • PostgreSQL con consultas tipadas.
  • Pagos: Stripe y PayPal. Envíos: ShipStation.
  • Media: Cloudinary y Backblaze B2. Caché: Redis.
  • Email transaccional: Resend + React Email. Analítica: PostHog.
  • Listas administrativas con @pibytelabs/listkit.

Retos técnicos

  • Orquestar múltiples proveedores externos (pagos duales, envíos, almacenamiento, mensajería) detrás de una capa de integraciones limpia.
  • Implementar un RBAC editable por administradores manteniendo invariantes de seguridad en cada server action.

Resultado

Un e-commerce completo y extensible —catálogo, pagos, envíos automatizados y administración tipada— en producción en agatesfrommexico.com.

Let's talk?