DevPath · Aprende a programar ESPTEN

Capstone: lanza tu SaaS

El plan: un SaaS multi-tenant

Qué vas a construir

Un SaaS (Software as a Service) es software que se usa desde la nube por suscripción: muchas personas y muchas empresas comparten la misma aplicación y la misma base de datos. Eso plantea el reto central de este capstone: que cada cliente vea solo lo suyo.

Multi-tenancy

Cada cuenta de cliente es un tenant (inquilino). En un modelo multi-tenant, una sola instancia de tu aplicación sirve a todos los tenants, y los datos conviven en las mismas tablas. La pieza clave es una columna como tenant_id que etiqueta cada fila con el dueño al que pertenece.

// Una fila de la tabla "proyectos"
{ id: 3, tenant_id: 1, nombre: "App móvil de Acme" }

Por qué aislar por tenant

Si una consulta olvida filtrar por tenant_id, un cliente podría ver o modificar los datos de otro. Es el fallo de seguridad más grave (y más común) de un SaaS. Por eso, toda lectura y escritura debe acotarse al tenant de la petición:

SELECT * FROM proyectos WHERE tenant_id = :tenantActual;

No es opcional ni una optimización: es la frontera de seguridad de tu producto.

Las capas que vas a tocar

El capstone integra todo el stack que has aprendido en DevPath. Construirás, en orden:

  1. Datos (SQL): la consulta que devuelve solo los proyectos de un tenant.
  2. Backend (JS): un handler que encadena el pipeline de una petición.
  3. Operación (JS): un checklist de producción y la configuración por entorno.
  4. UI (React): un panel que muestra las métricas del SaaS.

Cada pieza es pequeña; juntas, son una aplicación lista para lanzarse.

Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
El pipeline de una petición y el checklist de producción →