Se busca un desarrollador para crear un "Tracker de Saldo de Apuestas", una herramienta diseñada para capturar automáticamente el saldo de una cuenta de apuestas personal (tanto en PC como en Android) y enviarlo a una base de datos Supabase. El objetivo es alimentar un dashboard de estadísticas ya existente para uso interno.
Parte 1 — Extensión de Chrome (PC)
Alcance:
Se requiere el desarrollo de una extensión de Chrome privada, que no será publicada en la Chrome Web Store. La instalación se realizará manualmente en los PCs de la compañía a través del "Modo desarrollador → Cargar descomprimida".
Componentes:
La extensión deberá incluir los siguientes componentes:
-
manifest.json (utilizando Manifest V3).
-
Content-script.js: Este script se ejecutará en la página web de la casa de apuestas y será responsable de detectar el elemento del saldo en el DOM.
-
Background.js (service worker): Este script recibirá el saldo del content script y lo enviará a Supabase.
Comportamiento:
- El content script utilizará un MutationObserver para monitorear el DOM y detectar cambios en el elemento que muestra el saldo.
- La extensión solo actuará y enviará datos si el valor del saldo cambia respecto al último valor capturado, evitando envíos redundantes en cada refresco de página.
- El texto del saldo capturado deberá ser limpiado (eliminar el símbolo "€", cambiar la coma decimal por un punto) y convertido a un formato numérico.
- El content script enviará un objeto con la siguiente estructura al background script: { usuario, bookmaker, saldo, capturado_en }.
- El background script realizará una solicitud post a la rest api de supabase para almacenar los datos.
Seguridad:
- Es fundamental utilizar la anon key de Supabase para todas las operaciones, nunca la service_role key.
- Se deberá activar Row Level Security (RLS) en la tabla de Supabase, configurando una política que solo permita operaciones insert desde la anon key, denegando select, update y delete.
- El selector del saldo en el content script debe incluir un mecanismo de fallback (2-3 selectores alternativos) para asegurar la detección del saldo incluso si la estructura de la web de la casa de apuestas cambia.
- Se debe implementar un sistema de log (localmente o mediante una alerta) que notifique si el saldo no se detecta durante un período de tiempo prolongado (ej. Más de X minutos) mientras la web está abierta.
Entregable:
Se espera una carpeta con la extensión de Chrome lista para ser instalada mediante "Cargar descomprimida", junto con un documento de instrucciones de instalación de una página.
Duración del proyecto No definido