SwapBits Packages
Versión Actual
Versión 3.0.0 – Última actualización: 19 de octubre de 2025
Esta biblioteca contiene más de 30 schemas, 18 DTOs, 13 guards y 15 servicios que proporcionan la base técnica para todos los microservicios de la plataforma.
Stack Tecnológico
Tecnologías Principales
La biblioteca está construida sobre un stack tecnológico moderno y probado:
- NestJS – Framework principal para microservicios con arquitectura modular
- MongoDB – Base de datos principal con más de 30 schemas optimizados
- Redis – Cache y gestión de sesiones para alto rendimiento
- Socket.io – Comunicación en tiempo real para chat y notificaciones
- Docker – Containerización completa para despliegue consistente
¿Qué es SwapBits Packages?
SwapBits Packages es una biblioteca modular que centraliza todos los componentes compartidos utilizados por los microservicios de la plataforma. Su objetivo es mantener el código desacoplado, reutilizable y escalable, evitando duplicación y facilitando el mantenimiento.
Propósito Principal
Esta biblioteca actúa como el núcleo común de toda la infraestructura, proporcionando:
- Schemas unificados – Modelos de MongoDB compartidos entre todos los servicios
- DTOs validados – Objetos de transferencia de datos con validaciones integradas
- Servicios globales – Lógica de negocio reutilizable (autenticación, notificaciones, analytics)
- Guards y middlewares – Capas de seguridad y control de acceso
- Herramientas de monitoreo – Health checks, métricas y logging centralizado
Arquitectura Modular
Cada módulo en la biblioteca está autocontenido y puede ser importado independientemente según las necesidades de cada microservicio. Esto permite una arquitectura flexible donde cada servicio solo incluye lo que necesita.
Estructura del Repositorio
La biblioteca está organizada en 16 módulos principales, cada uno con una responsabilidad específica:
packages/
├── analytics/ # Sistema de analytics y dashboard de métricas
├── chat/ # Módulo de chat en tiempo real
├── controllers/ # Controladores compartidos (admin, analytics, PIN)
├── dtos/ # Data Transfer Objects con validaciones
├── email/ # Servicio de email con templates
├── examples/ # Ejemplos de uso e implementación
├── gateways/ # WebSocket gateways (chat en tiempo real)
├── guards/ # Guards de autenticación y autorización
├── health/ # Sistema de health checks y monitoreo de containers
├── interceptors/ # Interceptores para analytics, rate limiting y auditoría
├── jwt/ # Módulo JWT compartido
├── logs/ # Sistema completo de auditoría y logging
├── middleware/ # Middlewares de analytics y rate limiting
├── rate-limiting/ # Sistema de rate limiting avanzado
├── redis/ # Servicio centralizado de Redis
├── schemas/ # Mongoose Schemas para MongoDB (30+ schemas)
├── services/ # Servicios compartidos (notifications, chat, analytics, PIN)
├── tasks/ # Tareas programadas (cleanup, mantenimiento)
└── utils/ # Utilidades (códigos de error, HTTP helpers)
Organización Lógica
Cada directorio agrupa componentes relacionados por funcionalidad. Por ejemplo, guards/ contiene todos los guards de autenticación, mientras que schemas/ centraliza todos los modelos de MongoDB. Esta organización facilita encontrar y mantener los componentes.
Características Principales
Sistema de Seguridad Integrado
La biblioteca incluye un ecosistema completo de seguridad con múltiples capas de protección:
- Rate Limiting Inteligente – Control de tasa por IP, usuario, email y API key con escalación automática
- Sistema PIN Avanzado – Autenticación de segundo factor con sesiones temporales y protección anti-brute-force
- Guards Múltiples – JWT, KYC, PIN, Rate Limit, Roles, Device Auth y filtrado de IPs
- Protección Anti-Brute-Force – Bloqueos automáticos escalables basados en comportamiento
- Filtrado de IPs – Whitelist y blacklist dinámica para control de acceso
Arquitectura de Capas
El sistema de seguridad funciona en capas superpuestas. Cada request pasa por múltiples validaciones:
- Filtrado de IP – Verifica si la IP está bloqueada o en whitelist
- Rate Limiting – Controla la frecuencia de requests
- Autenticación JWT – Valida token y sesión en Redis
- Verificación KYC – Confirma estado de verificación del usuario
- PIN Security – Requiere sesión PIN aprobada para operaciones sensibles
- Roles y Permisos – Valida autorizaciones específicas
Analytics y Monitoreo
Sistema completo de métricas y estadísticas en tiempo real:
- Dashboard Analytics – Métricas de uso, estadísticas por endpoint y análisis de comportamiento
- Endpoint Analytics – Tracking detallado de cada endpoint con tiempos de respuesta
- Analytics Interceptor – Captura automática de métricas sin impactar performance
- Cleanup Automático – Retención inteligente y limpieza de datos históricos
Comunicación en Tiempo Real
Infraestructura WebSocket para interacción instantánea:
- Chat Gateway – Sistema de chat completo con Socket.io
- Chat Redis Service – Cache y persistencia de mensajes con alta disponibilidad
- Chat Guards – Autenticación específica para conexiones WebSocket
- Admin Chat Client – Cliente administrativo para moderación y gestión
Health Monitoring
Sistema avanzado de monitoreo y salud de la infraestructura:
- Container Health – Monitoreo del estado de todos los containers
- Metrics Aggregator – Agregación y análisis de métricas del sistema
- Console Logs Service – Captura centralizada de logs para debugging
- Health Reporter – Reportes automáticos de estado y alertas
Gestión de Datos
Infraestructura completa de persistencia y cache:
- 30+ Schemas MongoDB – Modelos optimizados con índices y validaciones
- 18+ DTOs Validados – Objetos de transferencia con validaciones automáticas
- Redis Centralizado – Cache de sesiones, rate limiting y datos temporales
- Chat Persistence – Almacenamiento de threads y mensajes
Módulos Disponibles
Explora cada módulo en detalle en las siguientes secciones:
📚 Documentación Detallada por Módulo
Cada módulo tiene su propia documentación completa con detalles técnicos, componentes incluidos y casos de uso:
- Autenticación y Seguridad – Guards, JWT, PIN Security y control de acceso
- Rate Limiting – Sistema de control de tasa y bloqueo de IPs
- Analytics y Monitoreo – Métricas, estadísticas y dashboard
- Chat y WebSocket – Comunicación en tiempo real
- Health Monitoring – Salud de containers y métricas del sistema
- Schemas y DTOs – Modelos de datos y validaciones
- Servicios Globales – Servicios compartidos entre microservicios
Estadísticas del Proyecto
📁 30+ Schemas
MongoDB optimizados con índices
📝 18+ DTOs
Con validaciones completas
🛡️ 13+ Guards
Autenticación y autorización
⚙️ 15+ Services
Globales reutilizables
📋 3+ Controllers
De administración
🔧 3+ Middlewares
Seguridad avanzada
Documentación en Evolución
Esta documentación se actualiza continuamente conforme se añaden nuevos módulos y funcionalidades. Cada sección está diseñada para proporcionar la información necesaria para entender qué contiene cada módulo sin entrar en detalles de implementación.