Internal codename: vuer . Built by TechTeamer .
Real-time face recognition, document verification, liveness detection for banking, telecom, government.
Current deployment: NUSZ (Hungarian financial institution).
Architecture
graph TB
Browser[Customer Browser] -->|HTTPS| NginxProxy[Nginx Proxy :443]
OperatorUI[Operator Browser] -->|HTTPS| NginxProxy
NginxProxy -->|*.css-*| vuer_css[vuer_css<br/>React + MVC Frontend<br/>:10082-3]
NginxProxy -->|*.oss-*| vuer_oss[vuer_oss<br/>Node.js Backend<br/>:10080-1]
NginxProxy -->|*.cv-*| vuer_cv[vuer_cv<br/>Python ML/CV<br/>:40080]
NginxProxy -->|esign-css-*| esign_css[esign_css<br/>eSign Frontend<br/>:10183-4]
NginxProxy -->|esign-oss-*| esign_oss[esign_oss<br/>eSign Backend<br/>:10180-2]
vuer_css <-->|RabbitMQ RPC<br/>40+ endpoints| vuer_oss
esign_css <-->|RabbitMQ RPC<br/>8 endpoints| esign_oss
vuer_oss -->|HTTP/WebSocket| vuer_cv
vuer_oss <-->|RabbitMQ| nyilvantarto[nyilvantarto_scraper<br/>Gov Registry]
esign_oss -->|RabbitMQ| pdfservice[pdfservice<br/>Kotlin/Spring Boot]
vuer_oss --> PostgreSQL[(PostgreSQL)]
esign_oss --> PostgreSQL
vuer_cv --> Redis[(Redis<br/>Image Cache)]
vuer_oss --> Redis2[(Redis<br/>Sessions)]
nyilvantarto -->|HTTPS + Client Cert| KKSZB[KKSZB<br/>Hungarian Gov API]
Services
Service Tech Purpose Deep Dive vuer_oss Node.js, Sequelize, Express Backend API, auth, business logic, 65 DB models ~650 source files vuer_css React 18 + custom MVC, Express, Socket.IO Customer UI, queue mgmt, real-time video Dual-server architecture vuer_cv Python, ONNX Runtime 16 ML models, face/document/liveness Multi-process, Redis RPC esign Node.js (frontend + backend) Electronic signature with 2FA PDF signing via Java/Kotlin pdfservice Kotlin, Spring Boot PAdES digital signatures, EU trust validation Apache PDFBox + EU DSS nyilvantarto-scraper Node.js Hungarian gov document registry queries KKSZB integration
Cross-Cutting Documentation
Tech Stack
Layer Technologies Backend Node.js >= 22.18.0, Express 5, Sequelize (TechTeamer fork), Passport Frontend React 18, custom MVC engine, esbuild, Stylus, i18n (EN/HU mandatory) ML/CV Python, ONNX Runtime, PyTorch, Detectron2, OpenCV, 16 ONNX models Signatures Kotlin 2.0, Spring Boot 3.5, Apache PDFBox 3.0, EU DSS v6.3, BouncyCastle Databases PostgreSQL (primary), Redis (cache/sessions/image store) Messaging RabbitMQ (AMQPS with client certs, @techteamer/mq) Auth Passport (Local, SAML, AD, FIDO2, TOTP), JWT/JWE encryption Infra Nginx, Supervisor, Docker Compose (host networking), Tailscale Observability Grafana, Loki, Prometheus, Tempo, OpenTelemetry Video Janus WebRTC Gateway, CoTURN
Key Numbers
Metric Count Source files (vuer_oss server/) ~650 Source files (vuer_css) ~25K (incl. node_modules) Python files (vuer_cv) 213 DB models (vuer_oss) 55+ DB models (esign_oss) 27 ONNX ML models 16 RPC endpoints (oss← >css) 40+ WebSocket task types (cv) 13 Document definitions (cv) 17 (14 HU, 3 SRB) Cron jobs 19+ Docker Compose files 15+ Critical security findings See security-audit
Naming Conventions
OSS = Operator Side Server (admin/back-office)
CSS = Client Side Server (customer-facing)
CV = Computer Vision
Development Environment (levander)
Item Location Remote server Ubuntu 22.04.5 LTS, SSH + Tailscale Remote workspace /workspace/vuer_*/Local SSHFS mount /Users/levander/coding/mnt/Facekom/DNS dnsmasq: *.facekomdev.net → 100.103.48.49 Containers Podman 5.7.1 (not Docker) Container registry harbor.techteamer.comIssues JIRA: FKITDEV-XXXX Branches feature/FKITDEV-XXXXGitHub TechTeamer