🎟️ Gestor de lotería de Navidad y el Niño

Este proyecto es un gestor de participaciones para la Lotería de Navidad y El Niño. Permite a los usuarios crear y administrar participaciones de lotería, enviar correos electrónicos a los participantes con sus detalles de participación, y generar PDFs con resúmenes de las participaciones con hash únicos.

🎯 Características Principales

Gestión de Participaciones

  • Registro de números de lotería con detalles completos:
    • Número de lotería
    • Serie
    • Fracción
    • Importe jugado
    • Cuota de participación
  • Generación automática de hashes únicos por participación
  • Sistema de verificación dual (participante y administrador)
  • Cálculo automático de porcentajes y distribución

Sistema de Notificaciones

  • Envío automático de correos electrónicos con:
    • Detalles completos de la participación
    • Hash único de verificación
    • Información de la cuota correspondiente
    • Términos y condiciones
  • Plantillas de correo personalizables
  • Confirmación de envío y seguimiento

Generación de Documentación

  • Creación automática de PDFs con:
    • Resumen de todas las participaciones
    • Detalles individuales por participante
    • Códigos QR para verificación
    • Información legal y términos
  • Formato profesional y personalizable
  • Exportación en múltiples formatos

🛠️ Stack Tecnológico

Backend

  • Python 3.8+
    • Framework Flask 2.3.2
    • Arquitectura MVC
    • RESTful API endpoints
    • Manejo asíncrono de correos

Frontend

  • HTML5 & CSS3
    • Bootstrap 5 para diseño responsive
    • JavaScript vanilla para interactividad
    • Validación de formularios en tiempo real
    • Interfaz intuitiva y moderna

Bibliotecas Principales

  • Flask-Mail 0.9.1
    • Gestión de correos electrónicos
    • Soporte para plantillas HTML
    • Queue de envíos
    • Retry automático
  • ReportLab 3.6.12
    • Generación de PDFs personalizados
    • Soporte para elementos gráficos
    • Tablas y layouts complejos
    • Códigos Hash integrados

Seguridad

  • Generación de hashes únicos mediante SHA-256
  • Validación de datos en frontend y backend
  • Protección contra inyección SQL
  • Rate limiting en endpoints críticos
  • Encriptación de datos sensibles

Automatización de Correos

  • Plantillas HTML personalizadas
  • Sistema de cola para envíos masivos
  • Reintentos automáticos en caso de fallo
  • Seguimiento de estado de envío

Generación de Informes

  • PDFs personalizados por participación
  • Resúmenes administrativos
  • Estadísticas de participación
  • Exportación en múltiples formatos

🔄 Ciclo de Vida de una Participación

  1. Registro
    • Ingreso de datos
    • Validación automática
    • Generación de hash
  2. Procesamiento
    • Cálculo de cuotas
    • Asignación de identificadores
    • Preparación de documentación
  3. Notificación
    • Envío de correo electrónico
    • Generación de PDF
    • Confirmación de recepción

📈 Conclusiones

La aplicación representa una solución moderna y eficiente para la gestión de participaciones de lotería, combinando seguridad, automatización y facilidad de uso. El sistema no solo simplifica la administración de participaciones, sino que también proporciona una capa adicional de seguridad y trazabilidad mediante su sistema único de hashes y verificación dual.