Skip to content

Introducción ​

Kaleo es una plataforma SaaS multi-tenant diseñada para que organizaciones gestionen su equipo, sedes, roles y accesos desde una interfaz unificada. Cada empresa tiene su propio espacio aislado con usuarios, roles y datos independientes.

Stack tecnológico ​

CapaTecnologíaVersión
FrontendVue 3 + ViteVue 3.5+
EstadoPiniav3
TablasTanStack Vue Tablev9
BackendNestJSv12
Base de datosPostgreSQL (Supabase)—
ORM/QueriesTypeORM DataSourcev1
AutenticaciónJWT (access 15min + refresh 7d)—
EmailBrevo API → SMTP → stub—
MonorepoTurborepo + npm workspaces—
TestsVitestv4
TypeScriptStrict modev6

Principios del proyecto ​

Multi-tenant por empresa ​

Cada request autenticado lleva el header x-company-id (UUID) que identifica la empresa activa. Los guards del backend validan que el usuario pertenezca a esa empresa antes de ejecutar cualquier operación.

JWT sin estado en el servidor ​

Los tokens de acceso expiran en 15 minutos. El refresh token (7 días) permite renovarlos silenciosamente. Al revocar sesión, los access tokens se añaden a una blacklist.

RBAC por empresa ​

Los permisos son granulares (users:read, branches:create, etc.) y se asignan a través de roles configurables por empresa. Los roles Owner, Admin y Viewer son del sistema; las empresas pueden crear roles personalizados.

SQL directo con tipos ​

El backend usa TypeORM únicamente como gestor de conexiones. Todas las queries son SQL plano, tipadas con rows<T>() y row<T>(). Esto facilita una futura migración a Kysely o Drizzle.

Estructura del repositorio ​

kaleo/
├── backend/          NestJS API
├── frontend/         Vue 3 SPA
├── packages/
│   └── shared/       Permisos, roles y tipos compartidos
├── docs/             Este sitio de documentación (VitePress)
├── scripts/          Utilidades de CI/mantenimiento
└── turbo.json        Configuración de Turborepo

Soy desarrollador nuevo en el proyecto → Empieza por Instalación, luego Arquitectura.

Quiero crear un nuevo módulo → Ve directamente a Guías de desarrollo.

Necesito integrar la API → Ve a API REST — Convenciones.

Soy usuario final → Ve al Manual de usuario.

Documentación de Kaleo — plataforma SaaS multi-tenant