Changelog

Historial de actualizaciones, mejoras y nuevas funcionalidades del sistema.

Changelog - La Imaginaria Backend

Registro ejecutivo de cambios y mejoras del sistema desde el inicio del desarrollo.


[2026-02-25] Security Audit Patches & Hardening

  • Sanitización de Datos: Implementación automática de sanitización en el modelo de usuario para excluir password_hash (toJSON()) de todas las respuestas de API.
  • Rate Limiting: Integración de protección global anti-DDoS / fuerza bruta mediante express-rate-limit restringiendo a 500 peticiones por cuarto de hora.
  • Endurecimiento de CORS: Configurada lista blanca estricta con orígenes nativamente autorizados (laimaginaria.net, dpana.com.ve, localhost).
  • Activity Logging: Implementación de modelo security_alerts para bloqueos del whitelist.

[2026-02-24] Report Module Refactoring & Centralized Timezones

  • Refactorización de Reports: Optimización del manejo de filtros, eliminando la validación estricta de Zod en favor de manipulación directa y mapeo snake_case en el controlador.
  • Manejo de Fechas en Consultas: Adopción de parseLocalTimeToUTC generalizada para la construcción dinámica de cláusulas where a través de los reportes.
  • Fix en Reportes: Se ajustó el motor de reports.service para calcular las comisiones de manera individual por juego (game_id) y no de forma genérica agrupada por categoría bruta.
  • Módulo Prizes: Se implementó una vista SQL y una nueva tabla paid_prizes. Se habilitaron los endpoints (Pay, Cancel, List) dentro de Results, incluyendo el Upsert de Resultados que automáticamente anula a los extintos ganadores si un resultado corrige a otro.

[2026-02-22] UTC Standardization & Device Auth Enhancements

  • Estandarización UTC: Implementación de UTC forzado en todo el backend para evitar inconsistencias de zona horaria.
    • Sincronización de process.env.TZ en server.ts y ajuste de configuración en Sequelize (timezone: '+00:00', useUTC: true).
  • Device Authorization: Mejora de la función SQL authorize_device_session para incluir jerarquía de entidades (entidad y entidad padre) en la respuesta de sesión.
  • Sorteos (Games): Soporte para identificadores personalizados en la generación de cronogramas de sorteos.

[2026-02-18] SAPI Registration & Agent Skills

  • Registro de Propiedad Intelectual (SAPI): Generación completa del expediente para registro ante SAPI Venezuela.
    • Documentación legal y técnica: Solicitud formal, cesión de derechos, memoria descriptiva, arquitectura general y documento matemático.
    • Huella Digital: Certificación de integridad de código fuente (SHA-256) de 131 archivos .ts (versión estratégica).
  • Infraestructura de Skills del Agente:
    • Implementación del sistema de extensión de capacidades mediante .agent/skills/.
    • Creación de skills base: skill-creator y changelog-automation.

[Unreleased] - 2026-02-14

✨ Features

Sales Module - Ticket Management & Logic

  • Servicio de Ventas: Implementación robusta para el registro, cancelación y recuperación de tickets.
  • Generación de Imágenes Térmicas: Capacidad nativa para generar representaciones visuales de tickets optimizadas para impresión.
  • Consultas de Balance: Endpoint GET /sales/balance/daily para conciliación diaria de operaciones.

WhatsApp & System Refinements

  • Dynamic Connection: Refactorización del endpoint de QR a POST para soportar parámetros dinámicos de conexión.
  • Verification Scripts: Inclusión de herramientas de validación de integraciones (verify-qr.ts).

Workflow Automation

  • Generación de Changelog: Automatización del proceso de documentación mediante scripts PowerShell.

🗄️ Database Changes

  • Items Refactoring: Mejora en la persistencia de jugadas dentro de los tickets para optimizar consultas y reportes.

[2.3.0] - 2026-02-13

✨ Features

System Module - Infrastructure & Settings

  • Módulo System Core: Implementación de la base para configuraciones globales del sistema.
  • Settings Management: CRUD completo para configuraciones de entidad (legal_info, print_info, social_info, whatsapp_settings).
  • Arquitectura snake_case: Estandarización de todos los servicios, controladores y rutas del módulo System para usar snake_case de forma nativa (entity_id, user_id, etc.), asegurando coherencia absoluta con el esquema PostgreSQL.

WhatsApp Logging & Resend System

  • Trazabilidad de Mensajería: Implementación de WhatsappMessageLog para auditoría de comunicaciones salientes.
  • Resend Endpoint: Nuevo endpoint /whatsapp/logs/:log_id/resend que permite reintentar envíos fallidos de forma atómica.
  • Multiturn Retries: Seguimiento de intentos mediante retry_count, incrementado automáticamente en cada reenvío.
  • Soporte Multimedia: Inclusión del campo image_url en los logs para trazabilidad de comprobantes y archivos adjuntos.

🗄️ Database Changes

  • System Schema Initialization: Script init-system-schema.ts para creación de tablas settings y whatsapp_message_log.
  • Media Support Migration: Alteración de tabla para añadir columnas image_url y retry_count de forma segura.

📚 Documentation

  • Updated Walkthrough: Guía técnica detallada sobre el funcionamiento del sistema de logs y reintentos de WhatsApp.

[2.2.0] - 2026-02-12

✨ Features

Financial Reports Module

  • Nuevos Reportes RPC: Implementación de 4 funciones de base de datos optimizadas para reportes financieros complejos:
    • get_financial_audit: Auditoría por eslabón con KPIs de venta bruta, premios, comisiones y rentabilidad.
    • get_financial_waterfall: Flujo de dinero jerárquico (cascada) que muestra retención de comisiones y transferencias hacia niveles superiores.
    • get_entity_balance: Balance consolidado por entidad con ingresos fijos (comisión) e ingresos variables (participación).
    • get_participation_distribution: Distribución global de utilidad neta compartida según porcentajes de participación acordados.
  • API Endpoints: Exposición de los reportes mediante endpoints filtrables por entidad, rango de fechas y divisa en /reports/financial/*.
  • Integración Swagger: Documentación OpenAPI completa para todos los nuevos endpoints financieros.

Sales Module - Ticket Grouping

  • Agrupación Inteligente de Ítems: Refactorización de SalesService.registerTicket para agrupar automáticamente ítems por Juego y Sorteo antes de la generación de la imagen del ticket, mejorando la legibilidad en el comprobante impreso.

🔧 Improvements

Device Session & Auth Refactoring

  • Atomic Session Authorization: Mejora del RPC org.authorize_device_session para retornar el objeto device completo y el estado online: true en config_info de forma atómica.
  • Módulo Org Consolidation: Migración final de la lógica de validación de dispositivos desde el módulo de Auth hacia Org para centralizar la gestión de infraestructura.

📚 Documentation

  • Frontend Integration Guide: Nueva sección detallada para la integración de reportes financieros, incluyendo tipos de datos TypeScript y mapeo de UI basado en mockups operativos.

[2.1.0] - 2026-02-10

✨ Features

Sales Module - Ticket Image & Storage

  • Generación de Comprobantes: Integración de generación de imágenes de tickets (PNG) con canvas.
  • Cloud Storage: Implementación de subida automática a Google Cloud Storage (storageService).
  • Persistencia de URL: Nuevo campo image_url en la tabla sales.tickets para almacenar la URL pública del comprobante.
  • Notificaciones WhatsApp: Envío asíncrono del comprobante vía WhatsApp tras la venta.

Results Module - Lottery Integration

  • Lógica de Resultados: SQL Migration 20260210_lottery_results_logic.sql para procesar premios.
  • Verificación de Ganadores: Funciones de base de datos para identificar tickets ganadores automáticamente.

🔒 Security

Device Authorization - Strict Flow

  • Fingerprint Validation: Refactorización completa del flujo de autorización de dispositivos.
  • Session Management: Control estricto de DeviceSession (activa, suspendida, inactiva).
  • Socket Binding: Vinculación segura de sockets a sesiones de dispositivo validadas.

🔧 Improvements

Reports Module

  • Daily Summaries: Correcciones en getDailySummary y manejo de zonas horarias (formatToTimestampTz).
  • Typos Fixed: Corrección de errores tipográficos en consultas de reportes.

Sales Module

  • RPC Refactoring: Actualización de create_ticket_rpc para soportar nuevos campos (image_url, currency_id).
  • Items Handling: Refactorización de items a estructura JSONB optimizada.

[2.0.0] - 2026-02-09

✨ Features

Sales Module - RPC Refactoring & Design

  • Rediseño de Comprobante (Ticket Image):
    • Layout 58mm: Optimización para impresoras térmicas de punto de venta (384px).
    • Encabezado Jerárquico: Separación entre "Empresa Principal" (raíz de jerarquía) y "Agencia Local" (terminal).
    • Agrupamiento de Ítems: Los tickets ahora agrupan jugadas por Juego y Sorteo de forma automática.
    • Diseño 2 Columnas: Implementación de layout de dos columnas con truncamiento inteligente de nombres (4 caracteres).
    • Serial Code: Ubicación exclusiva del código serial para mayor legibilidad.
  • PostgreSQL RPC Migration:
    • Implementación de sales.create_ticket_rpc como punto único de entrada para ventas.
    • Gestión atómica de saldos (wallet), movimientos financieros, creación de tickets e ítems.
    • Soporte para currency_id (UUID) y lookup por código de moneda.
    • Nuevo parámetro wants_payment_info para flujos de pago condicionales.

🗄️ Database Changes

  • Sales Schema Integration:
    • Migración de la columna currency a currency_id (UUID) en sales.tickets.
    • Nueva columna wants_payment_info para gestión de preferencias de pago del cliente.

🔧 Improvements

  • Performance & Atomicidad: La lógica de negocio crítica de ventas se ejecuta ahora íntegramente en la base de datos, garantizando consistencia y reduciendo latencia.
  • Path Resolution: Refinamiento en la resolución de rutas de ltree para identificar dinámicamente la estructura organizacional en los comprobantes.

[1.9.1] - 2026-02-08

✨ Features

Auth & Device Sessions - Strict Flow

  • Refactorización de validate-device:
    • Implementación de lógica estricta para validación de huella digital (fingerprint).
    • Gestión automatizada de DeviceSession (Cierre de sesiones antiguas y validación de estado online).
    • Eliminación de la generación de tokens de usuario redundantes; el flujo ahora asume un usuario ya autenticado.
  • Socket.io Session Binding:
    • El handshake ahora valida token, deviceId y sessionId.
    • Vinculación automática del socket.id a la sesión de dispositivo para control en tiempo real.

📚 Documentation

  • Frontend Integration Guide:
    • Actualización de diagramas de secuencia para el flujo unificado.
    • Nueva sección sobre Reconexión y Persistencia de sockets tras recarga de página (F5).
    • Ejemplos de código para integración de Socket.io-client.

[1.9.0] - 2026-02-08

✨ Features

POS Module (Taquilla) - Complete Integration

  • Database Connection: Integración total con base de datos real PostgreSQL.
    • Reemplazo de datos mock por fetch real de juegos, categorías, sorteos y elementos.
    • Autenticación segura mediante huella digital (fingerprint auth).
  • Ticket Lifecycle:
    • Implementación completa de POST /sales/tickets.
    • Asociación automática de tickets con sorteos y usuarios.
    • Validaciones de creación (entityId, serialCode).

Commercial Module - Routing & Access

  • Rutas Dinámicas: Implementación de estructura de rutas para jerarquía comercial.
  • Permission Control: Sistema de acceso basado en roles y permisos por módulo/página.

📚 Documentation

  • Sales Backend Integration Guide: Nueva guía detallada para frontend developers.
    • Creación y cancelación de tickets.
    • Gestión de cierres diarios y facturación.
    • Endpoints de clientes y reportes de ventas.

🔧 Improvements

  • POS UI/UX:
    • Refinamiento del modal de pago (Payment Modal).
    • Corrección de scroll en lista de tickets y posicionamiento de botones.
    • Fixes de sintaxis JSX y anidación de componentes.

[1.8.0] - 2026-02-07

✨ Features

Auth Module - Security & Tracking

  • Password Migration: Se migró el hashing y verificación de contraseñas de la base de datos (pgcrypto) al backend usando bcryptjs.
  • Session Tracking: Nuevo sistema de tracking de sesiones en auth.user_sessions que captura device_info (IP, Agent, Location, Fingerprint).
  • Security Middlewares: Integración completa de:
    • scopeMiddleware: Autorización jerárquica basada en LTree.
    • sensitiveGuard: Protección de operaciones de escritura sensibles.
    • activityMonitorMiddleware: Rastreo de última actividad por usuario..

Finance Module - Currency Management

  • CRUD de Divisas: Implementación de endpoints para crear, listar, obtener por ID, actualizar y eliminar divisas.
  • Refactor a UUID: Todas las operaciones de divisas ahora utilizan id (UUID) en lugar de code para consistencia con la API.

🔧 Improvements

  • Frontend Integration Guide: Actualizaciones significativas en docs/FRONTEND_INTEGRATION_GUIDE.md:
    • Documentación completa de CRUD de Usuarios y Divisas.
    • Instrucciones para tracking de dispositivos y sesiones.
    • Solución documentada para errores de renderizado en React (objetos vs strings en roles).

🗄️ Database Changes

  • Nuevas Tablas: Creación de auth.user_sessions para gestión persistente de sesiones.
  • Alteraciones: Actualización de la columna token_hash a tipo TEXT para soportar JWT completos.

[1.7.0] - 2026-02-06

🔧 Improvements

Organization Module - Schema Consolidation

  • Optimización de Base de Datos:
    • Consolidación de tablas: Eliminación de org.entity_configs.
    • Migración de datos a nuevas columnas JSONB en org.entities: finance_info, config_info.
    • Nueva columna explícita default_device_id para mejoras de integridad referencial.
  • Backend Refactoring:
    • OrgService: Actualizado para normalizar payloads (legal, contact, location, finance) y manejar la nueva estructura.
    • FinanceAlliesService: Refactorizado para usar finance_info en lugar de la tabla eliminada.
    • Entity Model: Sincronizado con esquema de BD (nuevos campos JSONB).
  • API Standardization & Docs:
    • createEntity: Ahora retorna el objeto entidad completo en data.
    • Estandarización de respuestas en updateEntity, deleteEntity, y getTree.
    • Nueva Guía de Integración: Creado docs/frontend_integration_guide.md con documentación completa de Entity y Device CRUD.

Device Management

  • Registro Automático: registerDevice ahora establece el estado como active por defecto.
  • Documentación de Estados: Definición clara de estados (active, blocked, suspended, inactive) para el frontend.

🗄️ Database Changes

  • Scripts de Migración:
    • migrate_configs_to_entities.sql: Script para mover configs y eliminar tabla antigua.
    • refactor_create_org_entity.sql: Función almacenada actualizada para insertar en nuevas columnas JSONB.

[1.6.0] - 2026-02-05

✨ Features

Auth Module - Flexible Authentication

  • Inicio de sesión multi-identificador:
    • Soporte para login tanto con email como con phone (o identifier genérico).
    • Actualización del modelo User para soportar email opcional y nuevo campo phone.
    • Inclusión de campo auth_method (default: 'whatsapp').
  • Swagger Updates: Documentación actualizada para reflejar los nuevos parámetros de login y creación de usuarios.
  • Archivos modificados:

Documentation - Visual Changelog

  • Página de Changelog UI:
    • Nueva ruta /changelog que renderiza este archivo markdown con estilos modernos (Tailwind CSS + Glassmorphism).
    • Integración de librería marked para parsing de Markdown a HTML.
    • Enlace directo desde el dashboard principal (/).
  • Archivos creados/modificados:

🔒 Security

Organization Module - Entity Protection

  • Protección contra eliminación crítica:
    • Implementación de lógica PROTECTED_ENTITY_ID en variables de entorno.
    • Bloqueo a nivel de servicio (org.service.ts) para impedir la eliminación accidental o intencional de la entidad raíz/protegida.
  • Archivos modificados:

[1.5.0] - 2026-02-04

✨ Features

Catalog Module - Refactor & Bulk Operations

  • Simplified Game Creation:
    • POST /games now only creates basic game metadata and uploads the logo.
    • Verification of short_code uniqueness before creation.
  • Bulk Data Management:
    • New endpoints to manage elements and draws in bulk for a streamlined editing experience.
    • POST /games/:id/bulk-data: Atomic synchronization of:
      • Game Elements (Create/Update/Delete based on full grid sync).
      • Game Draws (Sync schedule ranges).
      • Image uploads for elements supported in the same multipart request.
  • Game Elements Management:
    • New endpoints for granular control:
      • GET /games/:id/elements: Retrieve all elements for a game.
      • POST /games/:id/elements: Logic refactored to handle complex nested JSON parsing for data field in multipart requests.
  • Improved JSON parsing: Robust handling of potentially stringified JSON in data fields for multipart/form-data requests across controllers.

🔧 Improvements

  • Refactoring:
    • Centralized syncGameElements logic in GamesService.
    • Refactored syncDraws to accept external transactions for atomic bulk updates.
    • Fixed Controller logic to correctly extract files from req.files in upload.any() scenarios.

[1.4.0] - 2026-02-01

✨ Features

Health Module - System Monitoring

  • Dashboard de Salud: Implementación de una interfaz administrativa para monitoreo en tiempo real (/health-dashboard).
  • Logging de Peticiones HTTP: Nuevo sistema para registrar todas las peticiones entrantes en la base de datos request_logs_public.
    • Captura automática de método, URL, status, duración, IP y timestamp.
    • Diseñado para auditoría y diagnóstico de rendimiento.
  • Archivos creados/modificados:

Organization Module - Commercial Registration

  • Refactorización de Registro Comercial: Mejora integral del flujo de registro de nuevas entidades.
    • Soporte para adjuntar múltiples documentos legales (RIF, Cédula de Identidad, Fotos de Local).
    • Implementación del estado register para el ciclo de vida de la entidad.
    • Validación mejorada de campos requeridos y manejo de errores proactivo.
  • Archivos modificados:

Catalog Module - Draw Management Enhancements

  • Automatización de Sorteos:
    • Función para generación automática de cronogramas basados en configuración de juego.
    • Funcionalidad de eliminación masiva de sorteos por franjas horarias.
  • Archivos modificados:

🔧 Improvements

  • Storage Module: El servicio uploadFile ahora retorna la URL pública absoluta del recurso, facilitando el consumo desde el frontend.
  • Results Module: Mejoras en la lógica de creación y actualización de resultados de loterías.

🗄️ Database Changes

  • Nueva tabla 001_create_request_logs_public.sql: Estructura para almacenamiento de logs de peticiones.
  • Schema Org: Adición de campos para documentos legales en commercial_entities.

[1.3.0] - 2026-01-29

🔧 Improvements

Catalog Module - Game Updates

  • Corrección crítica en actualización de juegos: Implementado manejo especial para campos JSONB (betting_rules, schedule_config, mechanics, metadata, api_config)
    • Solución al bug donde Sequelize no detectaba cambios en campos JSONB
    • Uso de game.changed('betting_rules', true) para forzar actualización
    • Parsing automático de strings JSON en el controller antes de enviar al service
    • Archivos modificados:

📚 Documentation

  • Creación del sistema de documentación con CHANGELOG.md
  • Configuración del build para copiar automáticamente la carpeta docs

[1.2.0] - 2026-01-26

✨ Features

Catalog Module - Bulk Draw Operations

  • Endpoint de sincronización masiva de sorteos: POST /games/:gameId/draws/bulk
    • Permite crear, actualizar y eliminar múltiples sorteos en una sola operación
    • Uso de transacciones Sequelize para garantizar integridad
    • Sincronización inteligente por rango de fechas
    • Optimizado para manejar 48-365 sorteos por juego
    • Archivos creados/modificados:
      • games.service.ts: Método syncDraws()
      • games.controller.ts: Método bulkSyncDraws()
      • games.routes.ts: Nueva ruta con documentación Swagger
      • nuevos-endpoints.md: Documentación actualizada

🔧 Improvements

  • Optimización de operaciones masivas para sorteos
  • Mejora en manejo de transacciones de base de datos

[1.1.0] - 2026-01-24

✨ Features

Sales Module - Customer Management

  • CRUD completo de clientes: Endpoints para gestión de apostadores
    • POST /sales/customers: Crear cliente
    • GET /sales/customers: Listar con búsqueda
    • GET /sales/customers/:id: Detalle de cliente
    • PUT /sales/customers/:id: Actualizar cliente
    • DELETE /sales/customers/:id: Eliminar cliente
    • Búsqueda por nombre y teléfono
    • Paginación implementada

Sales Module - Enhancements

  • Summary con filtros: Endpoint GET /sales/summary mejorado
    • Filtro por entidad (entityId)
    • Filtro por fecha específica
    • Response con totales de ventas, premios, comisiones y balance neto
  • Daily Closes: Endpoint de detalle agregado GET /sales/daily-closes/:id

Auth Module - Security Enhancements

  • Gestión de sesiones de usuario:

    • GET /auth/sessions: Listar sesiones activas
    • GET /auth/sessions/:id: Detalle de sesión
    • PUT /auth/sessions/:id: Extender expiración
    • POST /auth/sessions/:id/terminate: Terminar sesión manualmente
    • Filtros por userId e isActive
  • Activity Logs (Auditoría):

    • GET /auth/logs: Listar logs de actividad
    • POST /auth/logs: Crear log manual
    • GET /auth/logs/:id: Detalle de log
    • PUT /auth/logs/:id: Actualizar log
    • DELETE /auth/logs/:id: Eliminar log
    • Filtros por usuario, módulo, acción y rango de fechas
    • Registro automático en login y creación de tickets

📚 Documentation

  • Creación de service-design.md: Documentación de servicios
  • Actualización de nuevos-endpoints.md: Documentación de nuevos endpoints
  • Documentación de enums y types para referencia

[1.0.0] - 2026-01-20 al 2026-01-22

✨ Features

Catalog Module - Core Implementation

  • Gestión de Categorías de Juegos:

    • CRUD completo de categorías (Triples, Terminales, Animalitos)
    • Modelo con campos: name, code, description, config
  • Gestión de Juegos:

    • CRUD completo de juegos/loterías
    • Campos: name, short_code, category_id, position, status
    • Campos JSONB: mechanics, schedule_config, betting_rules, metadata, api_config
    • Relación con categorías (foreign key)
    • Upload de logos mediante integración con Google Cloud Storage
    • Estado: active, suspended, inactive
  • Gestión de Sorteos (Draws):

    • CRUD de sorteos asociados a juegos
    • Campos: game_id, draw_time, draw_number, status
    • Relación con juegos
  • Gestión de Elementos de Juego:

    • CRUD de elementos (números, animales, etc.)
    • Campos: game_id, code, name, display_value, image_url
    • Upload de imágenes para elementos

Organization Module (ORG)

  • Estructura Comercial Jerárquica:
    • Modelo de entidades comerciales: Operadoras → Superbancas → Bancas → Grupos → Taquillas
    • CRUD completo de entidades comerciales
    • Campos: entity_type, name, code, parent_id (para jerarquía)
    • Configuración de comisiones y límites por entidad
    • Herencia de configuraciones desde entidad padre

Finance Module

  • Sistema de Billeteras (Wallets):

    • Gestión de saldos por entidad comercial
    • Campos: entity_id, balance, currency
    • Múltiples monedas soportadas
  • Transacciones Financieras:

    • Registro de todas las transacciones
    • Tipos: sale, prize, commission, deposit, withdrawal
    • Implementación de patrón Double Entry Ledger simplificado
    • Modificación de saldo solo mediante transacciones
  • Sistema de Comisiones:

    • Cálculo automático de comisiones por entidad
    • Configuración flexible por tipo de juego y entidad

Sales Module

  • Gestión de Tickets/Apuestas:

    • Creación de tickets con validación de reglas
    • Estado: pending, won, lost, cancelled, paid
    • Relación con juegos, sorteos y clientes
    • Validación de límites de apuesta
  • Daily Closes (Cierres Diarios):

    • Cierre automático por entidad y fecha
    • Cálculo de totales: ventas, premios, comisiones
    • Estado: open, closed

Auth Module - Core

  • Autenticación JWT:

    • Login con generación de tokens
    • Middleware de validación de tokens
    • Refresh token implementation
  • Gestión de Usuarios:

    • CRUD de usuarios
    • Roles: ADMIN, TAQUILLA, SOCIO
    • Relación con entidades comerciales
  • Permisos y Roles:

    • Sistema de permisos granulares
    • Asignación de permisos por rol
    • Middleware de autorización

Results Module

  • Integración con Scraper de Resultados:
    • Endpoint para consultar resultados de loterías
    • Filtro por categoría, lotería y fecha
    • Caché de resultados

Storage Module

  • Integración con Google Cloud Storage:
    • Servicio de upload de archivos
    • Gestión de imágenes para juegos y elementos
    • URLs públicas para acceso a recursos

🗄️ Database Changes

  • Esquema inicial PostgreSQL:

    • Schema catalog: games, categories, draws, game_elements
    • Schema org: commercial_entities
    • Schema finance: wallets, transactions, commissions
    • Schema sales: tickets, daily_closes, customers
    • Schema auth: users, roles, permissions, user_sessions, activity_logs
    • Schema public: results (cache)
  • Migraciones implementadas:

    1. Creación de esquemas
    2. Tablas base con relaciones
    3. Triggers para updated_at
    4. Funciones UUID v4
    5. Índices para optimización de consultas
    6. Constraints de integridad referencial

📚 Documentation - Initial

⚙️ Technical Infrastructure

  • Tech Stack:

    • Node.js + TypeScript (strict mode)
    • Express.js framework
    • Sequelize ORM con sequelize-typescript
    • PostgreSQL (Google Cloud SQL)
    • Redis + BullMQ para colas
    • Pino para logging
    • Zod para validación
    • JWT para autenticación
    • Swagger/OpenAPI para documentación de API
  • Arquitectura:

    • Clean Architecture con separación de capas
    • Estructura modular por dominio
    • Controllers, Services, Repositories pattern
    • Middleware de error handling global
    • Environment variables con validación
  • Calidad de Código:

    • ESLint configurado
    • Prettier para formateo
    • TypeScript strict mode
    • Validación con Zod en todos los endpoints

Convenciones

Categorías de Cambios

  • ✨ Features: Nuevas funcionalidades
  • 🔧 Improvements: Mejoras a funcionalidades existentes
  • 🐛 Bug Fixes: Corrección de errores
  • 🗄️ Database Changes: Cambios en esquema o migraciones
  • 📚 Documentation: Actualizaciones de documentación
  • ⚙️ Technical Infrastructure: Cambios en configuración, dependencias o herramientas
  • 🔒 Security: Mejoras de seguridad
  • ⚡ Performance: Optimizaciones de rendimiento

Formato de Versiones

  • MAJOR.MINOR.PATCH (Semantic Versioning)
  • MAJOR: Cambios que rompen compatibilidad
  • MINOR: Nuevas funcionalidades compatibles
  • PATCH: Correcciones de bugs compatibles

Última actualización: 2026-02-14