Docs

Metricas de Calidad

Referencia tecnica completa de los indicadores de calidad del ecosistema Nvito: pruebas unitarias, E2E, cobertura por capa, seguridad, herramientas y comparativa con la industria.


Pruebas unitarias e integracion

ProyectoFrameworkSuitesTestsTasa de exito
nvito-apiJest + Supertest2323,712100%
nvito-adminVitest + Testing Library1401,422100%
nvito-invitationsVitest + jsdom17180100%
nvito-clientJest + jest-expo29223100%
nvito-pwaVitest + jsdom18204100%
Total4365,741100%

Cobertura por capa

nvito-api

CapaElementosCon testsCobertura
Servicios116116100%
Controllers4848100%
Guards de seguridad1111100%

nvito-admin

CapaElementosCon testsCobertura
Servicios API3434100%
Server Actions1717100%
Validaciones Zod1515100%
Hooks de datos36+36+100%

nvito-invitations

CapaElementosCon testsCobertura
Route handlers33100%
Servicios SOLID44100%

nvito-client

CapaElementosCon testsCobertura
Servicios API66100%
Hooks queries77100%
Contexts22100%
Validaciones Zod33100%

nvito-pwa

CapaElementosCon testsCobertura
Seguridad (crypto, CSRF, rate limiter)33100%
BFF (proxy handler)11100%
Servicios API66100%
Validaciones Zod11100%
Hooks queries5keys testedparcial
Utils (date, format)22100%
Offline queue11100%
Middleware11100%
Config env11100%

Pruebas End-to-End (E2E)

ProyectoFrameworkTests E2EQue prueba
nvito-adminPlaywright67 tests (14 specs)Login, eventos, invitados, invitaciones, admin, error states, cross-browser Firefox
nvito-invitationsPlaywright41 tests (7 specs)Renderizado, 404, preview, revalidation webhook, security headers, performance, cross-browser WebKit + Firefox
nvito-apik66 escenariosHealth, endpoints publicos, dia del evento (200 VUs), CRUD autenticado, webhooks, media upload
nvito-clientMaestro13 flowsLogin host/guest, dashboard, guests, scanner, galeria, audio guestbook, deep links
Total121+ tests + 13 flows + 6 escenarios

Para detalle completo de estructura, ejecucion y configuracion E2E, ver la guia de E2E Testing & Quality Assurance.


Calidad del codigo

IndicadorValorDetalle
TypeScript strict modeHabilitado en los 5 proyectosstrict: true en tsconfig
as any0 en los 5 proyectosCero atajos de tipo en todo el ecosistema
JSDoc100% en los 5 proyectosTodo metodo publico documentado (espanol, sin acentos)
Naming convention100% kebab-case en archivosConsistencia total en los 5 repositorios
React CompilerHabilitado (admin)Optimizacion automatica de re-renders
Principios SOLIDAplicados en los 5 proyectosServicios y componentes con responsabilidad unica
Validacion ZodEn todas las capasRuntime validation: API + admin + invitations + client + pwa
Design tokensCentralizados (admin + client)Fuente unica de verdad para paleta de colores

Seguridad

IndicadorImplementacionProyecto
AutenticacionClerk (admin/web) + JWT propio (mobile)api, admin, client
RBAC8 roles, 40+ permisos, 11 guardsapi
Multi-tenantAislamiento por organizacion, X-Organization-Idapi, admin
Validacion de datosZod (frontend) + class-validator (backend)Todos
CSP headersContent-Security-Policy, HSTS, X-Frame-Options, Permissions-Policyadmin, invitations, pwa
BFF con cookies encriptadasAES-256-GCM en cookies HttpOnly, CSRF double-submitpwa
Prevencion XSSescapeJsString() + escapeHtmlAttr() + DOMPurify (whitelist explicita)invitations
Prevencion SSRFvalidateCdnUrl() contra whitelist de hostsinvitations
Timing-safe secretscrypto.timingSafeEqual() en webhooksinvitations
Rate limitingIn-memory rate limit en revalidation endpointinvitations
EncriptacionAES-256-GCM (datos sensibles), HMAC-SHA256 (busquedas), HTTPS obligatorioapi
SASTSemgrep en CI (auto + TypeScript + NestJS/Next.js rules)api, admin, invitations

Compliance

RegulacionEstadoDetalle
LFPDPPPContemplado en la arquitecturaDatos personales de invitados, consentimiento, derecho al olvido
Encriptacion de PIIImplementadoEmails y telefonos encriptados (AES-256-GCM), hashing deterministico (HMAC-SHA256)

Arquitectura

IndicadorValor
Modulos backend39
Endpoints API374
Modelos de datos53 (+ 40 enums)
Tipos de evento14
Servicios modulares20
Secciones de invitacion18 tipos
Aplicaciones5 (NestJS, Next.js admin, Next.js invitations, React Native/Expo, Next.js PWA)

Infraestructura

IndicadorEstado
EntornosLocal + DEV + TEST (+ Produccion pendiente)
CI/CDGitLab CI con stages: quality, e2e, security, migrate
HostingCoolify v4 (Docker en VPS propio)
Base de datosPostgreSQL via Neon (cloud)
CacheRedis via Upstash
AlmacenamientoCloudflare R2 (produccion) / MinIO (desarrollo)
E2E compartidoDocker Compose E2E (PostgreSQL tmpfs, Redis no-persist, MinIO tmpfs)
ReportesAllure Report unificado (todos los proyectos)

Comparativa con la industria

MetricaNvitoStartup promedioEmpresa madura
Tests automaticos5,741+ unit + 121+ E2E0-1001,000-10,000
Proyectos con tests5 de 5 (100%)1 de 3-42-3 de 4
Cobertura de servicios100%20-40%60-80%
TypeScript strictSi (5 proyectos)RaroComun
JSDoc completo100% en los 5Menos del 10%30-50%
as any0 en los 510-50+5-20
CI/CD automatizadoSiA vecesSi
Multi-tenant desde dia 1SiNoA veces
RBAC completoSi (11 guards)Basico (2-3 roles)Si
Principios SOLIDAplicados en los 5RaroA veces
Validacion runtime (Zod)En todas las capasSin validacionSolo backend
Prevencion XSS/SSRFImplementadoBasico o nuloSi
SAST en CISi (Semgrep)NoSi
Design tokens centralizadosSiNoSi

Nvito tiene metricas de calidad superiores a la mayoria de startups e incluso comparables con empresas maduras, lo cual reduce significativamente el riesgo tecnico del proyecto.


Documento tecnico -- Nvito, Marzo 2026

Esta pagina fue util?