Skip to main content

Documentation Index

Fetch the complete documentation index at: https://wiki.vivla.com/llms.txt

Use this file to discover all available pages before exploring further.

Vivla Tools

Monorepo que contiene las herramientas internas de Vivla: un conjunto de aplicaciones para gestionar comunicación con huéspedes, propiedades, guías de mantenimiento, notificaciones y operaciones del equipo.

Estructura del monorepo

Frontend

apps/frontend — Panel interno principal construido con TanStack Start (React). Incluye los módulos de Chat, Community, Notificaciones, Teams y Dashboard.Puerto: 3000

Backend

apps/backend — API NestJS que sirve a todos los frontales y a la app mobile (vivla-mobile). Gestiona autenticación, permisos, chat, surveys, community, notificaciones e inbox.Puerto: 3001

Community Frontend

apps/community-frontend — Portal público Next.js 14 para que huéspedes y personal de limpieza accedan a guías de propiedades, inventario, planos y sesiones de limpieza.Puerto: 3002

Home Excellence

apps/home-excellence — Portal público Next.js 14 para propietarios: métricas de satisfacción NPS, estado de calidad, tickets, protocolos y resultados del Home Review 2026.Puerto: 3003

Packages compartidos

packages/common — Tipos, utilidades, constantes y validaciones compartidas (Zod).packages/ui — Librería de componentes React con shadcn/ui y Tailwind CSS.packages/eslint-config — Configuración ESLint compartida.

Módulos principales

MóduloFrontendBackendDescripción
Chat/app/chat//api/chat/Mensajería en tiempo real con Stream Chat, tickets de soporte, gestión de canales y agentes
Surveys/app/chat/surveys//api/surveys/, /api/survey-types/, /api/survey-legacy-responses/, /api/survey-scores/, /api/chat/sync/firebase-legacy-responsesEncuestas dinámicas con builder visual, versionado, 5 tipos (Casa, Estancia, Llegada, Onboarding, Financiero), resultados con sub-tabs, user matrix multi-source, rewards, action plans y sync automático desde Firebase via Windmill
Community/app/community//api/community/Gestión de propiedades: guías, inventario, limpieza, planos, fotos, styling
Notificaciones/app/notifications//api/notifications/Push notifications con templates, automaciones, deep links y analytics
Teams/app/teams//api/teams/Gestión de equipos, miembros y roles
InboxSidebar/api/inbox/Bandeja de entrada unificada con notificaciones en tiempo real
PermisosIntegrado/api/permissions/Control de acceso granular por módulo (none/view/edit/admin)
Home Excellenceapps/home-excellence//api/surveys/public/*Portal propietarios: NPS, satisfacción, tickets, Home Review 2026

Stack tecnológico

CapaTecnología
FrontendTanStack Start, TanStack Router, TanStack Query, React 18, Tailwind CSS
Community FrontendNext.js 14 (App Router), React PDF
BackendNestJS 10, Express
Base de datosSupabase (PostgreSQL con RLS)
AutenticaciónAuth0 (JWT/JWKS), Stream Chat tokens para mobile
Chat en tiempo realStream Chat SDK
Push notificationsFirebase Admin SDK, Expo Server SDK, Web Push (VAPID)
AlmacenamientoCloudinary (imágenes)
EmailResend
BuildTurborepo, pnpm workspaces

Relación entre aplicaciones

┌─────────────────┐     ┌─────────────────┐     ┌──────────────────┐
│  vivla-mobile    │     │  Frontend        │     │ Home Excellence   │
│  (app externa)   │     │  (TanStack)      │     │ (Next.js, :3003)  │
└────────┬────────┘     └────────┬────────┘     └────────┬─────────┘
         │                       │                       │
         │  /api/chat/mobile/*   │  /api/*               │ /api/surveys/public/*
         │  /api/surveys/mobile/*│                       │
         │                       │                       │
         └───────────┬───────────┴───────────┬───────────┘
                     │                       │
              ┌──────▼──────┐         ┌──────▼──────────┐
              │   Backend    │         │ dashboard.vivla  │
              │  (NestJS)    │         │ api.vivla.com    │
              └──────┬──────┘         └─────────────────┘

         ┌───────────┼───────────┐
         │           │           │
    ┌────▼───┐  ┌───▼────┐  ┌──▼───────┐
    │Supabase│  │Stream  │  │Cloudinary│
    │  (DB)  │  │ Chat   │  │ (media)  │
    └────────┘  └────────┘  └──────────┘

              ┌──────▼──────┐
              │  Community   │
              │  Frontend    │
              │  (Next.js)   │
              └─────────────┘
La app mobile (vivla-mobile) consume endpoints específicos de este backend (/api/chat/mobile/* para chat, /api/surveys/mobile/* para encuestas), no del backend principal de Vivla.