Arquitectura de la plataforma

Esta página explica cómo está construida la plataforma MetCommerce, tomando como referencia la tienda demo Tennix Shop, que está en producción. Es para quien quiera revisar el detalle técnico; si buscas qué incluye cada plan, está en la página principal.

1. Componentes

2. Cómo se comunican

Flujos principales entre los componentes
DesdeHaciaPara qué
TiendaAPILeer el catálogo y crear pedidos.
TiendaMercado PagoEl cliente paga en Checkout Pro (redirección, sin iframe) y vuelve a la página de confirmación.
Mercado PagoAPIWebhook que avisa el resultado del pago; la API verifica su firma.
PanelAPIGestionar productos, tallas y pedidos con sesión JWT.
APIMySQLGuardar y consultar todos los datos.
APIGmailCorreos de pedido, pago aprobado, despacho y backups.

3. Tecnologías

Tecnologías por capa y para qué se usan
CapaTecnologíaUso
Tienda y panelHTML, CSS y JavaScriptPáginas estáticas, sin compilación.
APINode.js 22 y Express 4Rutas REST.
Base de datosMySQL con mysql2Consultas parametrizadas; los pedidos se crean dentro de una transacción.
Sesión del paneljsonwebtoken y bcryptjsTokens JWT y contraseñas cifradas.
Seguridad HTTPhelmet y CSPCabeceras de seguridad en la API y en la tienda.
PagosSDK de Mercado PagoCheckout Pro y webhook con firma HMAC.
Imágenesmulter y sharpSubida de fotos y conversión a WebP: 1200 px y miniatura de 400 px.
Correosnodemailer con GmailAvisos al comprador y a la tienda.
Tareas programadasnode-cronBackup diario a las 2:00 a. m. (hora de Colombia).
RendimientocompressionRespuestas de la API comprimidas.
Integración continuaGitHub ActionsPruebas con MySQL 8 antes de cada despliegue.
MonitoreoUptimeRobotVigila un endpoint de salud que también comprueba la base de datos.

4. Ciclo de un pedido

  1. Pendiente: el cliente confirma su carrito. El pedido recibe un identificador aleatorio (UUID), no un número consecutivo, para que nadie pueda ver pedidos ajenos cambiando el número en la URL. Si no se paga en 2 horas, vence.
  2. Confirmado: Mercado Pago aprueba el pago. El comprador y la tienda reciben el correo de pago aprobado.
  3. Despachado: el administrador guarda el número de guía y el comprador recibe el correo de despacho.
  4. Entregado. En cualquier momento el pedido también puede quedar cancelado.

5. Seguridad

6. Respaldo y despliegue

7. Decisiones y límites conocidos