Propuesta de Proyecto: PWA Agenda Inteligente de Sorteos (v1.0) Buscamos un desarrollador experimentado para construir la versión inicial de una Aplicación Web Progresiva (PWA) y su API Backend para crear una "Agenda Inteligente de Sorteos" en Perú. El objetivo principal es ofrecer una plataforma ágil y personalizada que recopile, organice y filtre sorteos, concursos y promociones, ofreciendo contenido exclusivo (VIP) a usuarios cualificados. Tecnologías Requeridas y Arquitectura Componente Requisito Principal Alternativas Aceptables Frontend (PWA) HTML, CSS, JavaScript (diseño mobile-first, responsive). React, Vue o Angular para el futuro. Backend (API REST) Python (Flask o Django) Node.js (Express) o Go. Base de Datos SQLite (Para V1.0) PostgreSQL o MySQL (Para escalabilidad futura). Seguridad Autenticación Básica HTTP para Admin y hashing de contraseñas. N/A (Requisito Obligatorio). Exportar a Hojas de cálculo Módulos y Funcionalidades Clave 1. Módulo Público (PWA Frontend) Listado General: Vista principal con todos los sorteos activos, mostrando título, empresa, fecha de cierre y sector. Filtros Robustos: Funcionalidad de filtrado instantáneo por Sector (Bancos, Fintech, Retail, General) y Búsqueda por texto. Diferenciación de Contenido: Visualización clara de los sorteos marcados como VIP/Exclusivo con etiquetas llamativas. Paginación (Requisito de Escalabilidad): La carga de sorteos debe usar Paginación en el Backend para garantizar la velocidad de carga (no cargar miles de registros a la vez). 2. Módulo de Perfil y Personalización (El Cerebro) Este es el requisito central del proyecto: Formulario de Perfil: Interfaz simple donde el usuario puede registrar su estado de cliente (ej., "¿Tiene tarjeta Interbank?", "¿Usa Yape?", "¿Cliente BBVA?"). Esta información se almacena en la DB (perfiles_usuario). Ruta API Personalizada: Creación de una ruta API dedicada (ej., /api/sorteos/personalizados) que implemente la lógica de negocio para: Mostrar siempre los sorteos generales. Mostrar los sorteos VIP solo si el usuario cumple con los requisitos del sorteo según su perfil almacenado. Consumo Personalizado: El frontend principal debe consumir esta ruta personalizada. 3. Módulo de Administración (Backend Seguro) Panel de Administración (CRUD): Interfaz web simple y funcional para Crear, Editar y Eliminar sorteos, incluyendo la opción de marcar un sorteo como esVIP (1 o 0). Seguridad de Acceso: Todas las rutas de modificación (POST, PUT, DELETE) deben estar protegidas con un sistema de Autenticación Básica HTTP y manejo seguro de contraseñas (hashing con werkzeug). Consideraciones de Seguridad y Despliegue Seguridad de la API: El desarrollador debe garantizar que se implementan buenas prácticas para prevenir ataques comunes, como la inyección SQL, en el backend. Preparación para Despliegue: El código debe estar listo para ser desplegado en un entorno real (Ej. Heroku o un VPS), utilizando servidores de producción como Gunicorn o uWSGI en lugar del servidor de desarrollo de Flask. Mecanismos de Notificación (Futuro): El desarrollador deberá esbozar la arquitectura para la futura implementación de tareas programadas (Cron Jobs) para gestionar el envío de notificaciones push sobre cierres de sorteos. Buscamos un profesional que no solo escriba código funcional, sino que también aplique una estructura escalable y segura desde el inicio. Por favor, presente su portafolio destacando proyectos con experiencia en APIs REST y personalización de contenido.