Arquitectura del sistema
Flujo de funcionamiento
Recorrido completo desde que el cliente llega a la puerta hasta la decisión mostrada en pantalla.
🧍
Cliente llega al módulo de acceso
INICIO
El cliente se acerca al módulo en la puerta de la discoteca. El sistema está activo gracias a la sesión iniciada por el guardia.
🖐️
Lector biométrico captura la huella
HARDWARE
El dispositivo (ej. ZKTeco / Suprema) captura la huella y genera un template biométrico cifrado. Nunca se almacena la imagen real: solo el hash irreversible.
💻
Servicio local en la PC del módulo
LOCAL
Un microservicio ligero instalado en la PC recibe el template y lo envía a la API en nube vía HTTPS. Sin internet, consulta la caché local con personas frecuentes y sincroniza al reconectarse.
HTTPS / TLS 1.3
☁️
API en nube busca en base de datos
NUBE
El servidor recibe el template cifrado y busca coincidencia en la base de datos central compartida entre las 3 sucursales.
✓ SÍ — Ya registrado
Persona encontrada en BD
Se recuperan nombre, edad, fecha de nacimiento y estado de restricción. No se consulta RENIEC.
¿EN
BD?
✗ NO — Primera vez
🏛️
Consulta API AFIS de RENIEC
RENIEC
Se envía el template biométrico al servicio AFIS de RENIEC. Devuelve DNI, nombres, apellidos y fecha de nacimiento. Los datos se guardan en BD para futuras visitas.
⚙️
Motor de decisión evalúa dos condiciones
LÓGICA
(1) ¿Es mayor de edad? Fecha de nacimiento vs. fecha actual. (2) ¿Tiene restricción activa en esta sucursal? Gestionada por el administrador de la sucursal.
🟢
Acceso Permitido
Mayor de edad, sin restricciones. Pantalla muestra nombre, edad y PERMITIDO.
🔞
Denegado — Menor
Menor de edad. Pantalla muestra DENEGADO con motivo "Menor de edad".
🚫
Denegado — Restricción
Persona con acceso restringido. Muestra DENEGADO con el motivo registrado.
🏛️ Nota técnica — API AFIS de RENIEC
RENIEC tiene el sistema AFIS (Automated Fingerprint Identification System) que verifica identidad por huella dactilar.

FLUJO: Template biométrico → POST /reniec/afis/verificar → { dni, nombres, apellidos, fecha_nacimiento }

REQUISITO: Convenio Interinstitucional con RENIEC, o proveedor autorizado (ej. Verifyid.pe, Truora, IDVerify Perú).

ALTERNATIVA TRANSITORIA: Mientras se tramita el convenio, el guardia ingresa el DNI manualmente en el primer registro. Esta opción queda como fallback documentado.
Componentes del sistema
🖐️
Lector Biométrico
Hardware USB/TCP en cada módulo. Captura huella y genera template via SDK del fabricante.
ZKTecoSuprema
🌐
App Web (PWA)
Aplicación web progresiva en el PC del módulo. Soporta modo offline con caché local.
React/VueIndexedDB
API REST en Nube
Gestiona autenticación, decisión, integración RENIEC y logs de acceso.
Node.jsAWS/Railway
🗄️
BD Centralizada
Base única en nube para las 3 sucursales. Restricciones configurables por sucursal.
PostgreSQLSupabase
📴
Modo Offline
Sin internet, opera con caché local de personas frecuentes. Sincroniza al reconectarse.
FallbackService Worker
🏛️
API RENIEC (AFIS)
Solo en primer registro. Requiere convenio o proveedor autorizado.
ConvenioDato sensible
Sucursal activa
EN LÍNEA
Guardia en turno
ROL: ACCESO
Estado del módulo
🟢 Activo
LECTOR EN ESPERA
Estadísticas hoy
Permitidos0
Denegados0
💡 Demo: selecciona una persona del panel derecho para simular el escaneo de huella.
Lector conectado · Módulo activo
Activo
🖐️
Toca para simular lectura de huella
Capturando template biométrico...
Buscando en base de datos...
Evaluando restricciones...
Generando respuesta...
🖐️
Esperando lectura biométrica...
PERMITIDO
Edad: años
Mayor de edad:
Personas de prueba
Simula quién coloca el dedo en el lector
Carlos Mendoza Ramos
DNI: 45678901 · 28 años
MayorSin restricción
Lucía Torres Vega
DNI: 76543210 · 17 años
Menor de edad
Roberto Silva Morales
DNI: 34567890 · 32 años
Restringido
Ana García Paredes
DNI: 98765432 · 25 años
MayorSin restricción
Juan Quispe Llanos
DNI: 11223344 · 22 años
Primera vezVía RENIEC