CODERE

Overview

codere logo

Mi entrada en CODERE respondió a un riesgo estructural claro: todo el ecosistema digital —aplicaciones, frontales y operación en stores— dependía de una sola persona. El conocimiento estaba centralizado y la continuidad del sistema no estaba garantizada.

Comencé como subcontratado externo, pero el trabajo fue rápidamente más allá de cubrir tareas puntuales. El contexto exigía pensar en sistema: reducir dependencia de personas concretas, estabilizar arquitecturas, preparar el software para crecer y convivir con marketing, retail y plataformas enterprise. El paso a interno fue una consecuencia natural.

El núcleo del trabajo se desarrolló en una dupla muy poco habitual. Mi compañero, con más de 45 años de experiencia real en software, aportaba una visión profunda de arquitectura y operación. Yo aportaba ejecución, producto y una mentalidad orientada a automatizar, modularizar y reducir fricción. El principio era claro: Do it on your own.

Ese enfoque nos permitió construir y mantener un ecosistema completo: aplicaciones retail multiplataforma (España y LATAM), una arquitectura propia que encapsula Redux y estandariza el desarrollo, un sistema de notificaciones push fiable en todas las casuísticas y una migración del CMS corporativo a una plataforma enterprise-grade como Liferay.

Mi rol fue evolucionando desde el uso de sistemas existentes hasta la intervención directa en piezas críticas: refactorización arquitectónica, diseño de soluciones extensibles, integraciones complejas con plataformas externas (Salesforce, Dynamics) y administración de sistemas que debían funcionar en producción, no en laboratorio.

El resultado no fue una colección de aplicaciones o herramientas aisladas, sino un ecosistema digital robusto, mantenible y preparado para operar en un entorno internacional con requisitos reales de seguridad, rendimiento y escalabilidad.

Club de España

Aplicación Híbrida

codere logo

La app del Club España es una aplicación de retail orientada a usuarios finales, con una particularidad clave a nivel de negocio: permite el cierre anticipado de apuestas, una funcionalidad crítica donde estabilidad, latencia y experiencia de usuario no son negociables.

Club codere españa login page Club codere españa register page Club codere españa home page Club codere españa catalog page

Mi trabajo en este proyecto estuvo centrado en mantenimiento evolutivo y estabilidad del sistema: actualización de librerías, saneamiento técnico, adaptación a nuevas versiones del ecosistema y desarrollo de pequeñas funcionalidades que encajaban en una base de código ya madura.

A nivel técnico, la aplicación está construida sobre Angular + Ionic + Capacitor y utiliza una arquitectura propia que encapsula Redux (ngrx) llamada ARCA. Esta capa abstrae la complejidad del estado global y aporta soluciones comunes ya resueltas: gestión centralizada de loaders, modales, control del layout dinámico (header y footer según dispositivo) y patrones consistentes para el desarrollo de nuevas vistas.

El mismo código base se distribuye en iOS, Android, web y kioskos en entorno Electron, lo que obliga a pensar cada cambio como parte de un sistema multiplataforma, no como una app aislada.

Este proyecto fue mi punto de entrada al sector, al software de CODERE y a su forma de trabajar. Me permitió entender rápidamente el dominio de negocio, la arquitectura existente y las exigencias reales de una aplicación de retail en producción, sentando la base para trabajos más profundos dentro del ecosistema.

Club de LATAM

Aplicación Híbrida

codere logo

La app del Club LATAM es una aplicación de retail orientada a fidelización. El sistema asigna puntos de nivel a los usuarios en función de su actividad y desbloquea ventajas progresivas: recompensas en sala, consumiciones, apuestas gratuitas y otros incentivos ligados directamente al comportamiento del cliente.

Club codere españa login page Club codere españa register page Club codere españa home page Club codere españa catalog page

A diferencia del Club España, aquí mi implicación fue mucho mayor. Mi trabajo se centró en desarrollo evolutivo, implementación de nuevas funcionalidades, actualización continua de librerías y mantenimiento de una base de código compartida que debía mantenerse estable a pesar de la complejidad creciente.

También aporté mejoras directas en la experiencia de usuario: animaciones en el buzón de notificaciones, optimización en la carga de imágenes y pequeños detalles visuales que, sin ser críticos para el negocio, marcan la diferencia en la sensación de fluidez de una app de uso recurrente.

Uno de los retos clave del Club LATAM es que una única base de código genera aplicaciones para múltiples países, cada uno con configuraciones, endpoints, flujos y pantallas distintas. Esto se resuelve mediante environments altamente configurables apoyados en la arquitectura técnica ARCA, que permite personalizar el comportamiento sin romper el núcleo común del sistema.

Las notificaciones push fueron otro punto crítico. Algunos países utilizan Salesforce Marketing, otros Dynamics Marketing, lo que obligó a diseñar integraciones distintas bajo un sistema unificado. El resultado es una arquitectura de notificaciones robusta, extensible y preparada para incorporar nuevas plataformas si el negocio lo requiere.

En conjunto, el Club LATAM no es solo una app de fidelización: es un sistema distribuido, multiregión y multicanal, donde arquitectura, UX y operación deben alinearse para sostener producto y crecimiento.

Liferay

El CMS Corporativo

codere logo

En paralelo al ecosistema de aplicaciones, CODERE afrontó un problema estructural a nivel de gestión de contenidos. Toda la capa CMS estaba construida sobre WordPress, una solución válida para proyectos pequeños o medianos, pero claramente insuficiente para una empresa internacional con altos requisitos de rendimiento, seguridad y control.

pagina grupo codere oficial pagina bingo canoe oficial

Los límites empezaron a ser evidentes: problemas de rendimiento, superficie de ciberseguridad demasiado amplia y dificultades para escalar el sistema de forma controlada. Por ello, se decidió iniciar una migración hacia un CMS más robusto y orientado a entorno corporativo.

Tras evaluar distintas opciones, la compañía optó por Liferay, principalmente por su enfoque en seguridad, control de permisos y capacidad para operar como plataforma centralizada. Un equipo externo se encargó de montar los entornos completos de desarrollo y producción.

Durante esta fase, mi compañero asumió un rol clave de coordinación entre marketing y el equipo técnico, facilitando decisiones estratégicas sobre estructura, flujos y capacidades del CMS. Fue un proceso en el que pude aprender de primera mano sobre gestión técnica y toma de decisiones en proyectos de gran escala.

Una vez entregada la plataforma, se nos cedió el testigo completo. Desde ese momento pasamos a ser responsables de mantener, administrar y desarrollar sobre Liferay. Creamos nuevas páginas, gestionamos contenidos, fragmentos, usuarios y flujos internos, además de dar soporte directo a los equipos que lo necesitaban.

En la práctica, asumimos el rol de administradores de la plataforma, garantizando que el CMS no fuera solo un repositorio de contenido, sino una pieza estable del ecosistema digital de CODERE.

Notificaciones Push

Apps híbridas y agente propio

codere logo

Las notificaciones push son una palanca directa de marketing, retail y producto: permiten comunicar ofertas, reenganchar usuarios, anunciar novedades y activar campañas con un coste muy inferior a un SMS. En un entorno competitivo, no es “un extra”: es parte del sistema comercial.

Club codere españa login page Club codere españa register page

El problema real es conocido por cualquiera que haya sufrido apps híbridas en producción: enterarse de una notificación en todas las casuísticas (primer plano, segundo plano, app cerrada, dispositivo bloqueado, etc.). Muchas apps híbridas han terminado migrando a nativo por un motivo simple: nunca lograron que las push fueran fiables cuando más importaba.

En nuestro caso, lo resolvimos. Diseñamos una solución que cubría el comportamiento completo en el mundo real, apoyándonos en un plugin propio (Android) capaz de escuchar notificaciones ocultas y transferirlas a Capacitor. Además, fue necesario intervenir en la capa nativa generada por Capacitor tanto en iOS como en Android, ajustando comportamiento y ciclo de vida con código Swift y Java.

A nivel de plataformas de marketing, convivían dos realidades. Con Dynamics Marketing el registro de dispositivo podía controlarse bien desde el frontal: el alta se gestiona vía endpoints HTTP y el flujo es estable. En cambio, Salesforce exigía integrar su SDK, que controla el registro del dispositivo y parte del comportamiento interno. La integración fue compleja: semanas de trabajo, documentación escasa y un margen mínimo de error. Aun así, el objetivo se cumplió.

El resultado fue un sistema de push fiable en escenarios reales: app en primer plano, segundo plano, cerrada, múltiples notificaciones simultáneas y condiciones de operación poco “perfectas”. Este tipo de estabilidad es lo que separa una demo de un producto operativo, y aportó valor directo a la compañía.

Club codere españa login page

Y como el problema no era solo técnico sino también de integración, dimos un paso más: diseñamos, por iniciativa propia, una plataforma propia de notificaciones. Esta plataforma permite enviar push directamente por APNs/Firebase sin intermediarios, reduciendo el coste prácticamente a cero.

La plataforma es compatible con entornos modernos y legacy: puede integrarse como servicio, por socket o incluso por fichero. Incluye además una interfaz de administración, una consola SQL para operar sobre la base de datos y un servidor propio integrado llamado Spartan Server, que empaqueta en un único ejecutable el toolkit completo para gestionar y enviar notificaciones push de forma parametrizada.

ARCA

Automatic REDUX Core Architecture

codere logo

ARCA nace como una encapsulación de Redux aplicada al contexto real de aplicaciones multiplataforma. Su objetivo no es “reinventar la rueda”, sino reducir el código repetitivo, homogeneizar patrones y acelerar el desarrollo sin perder control.

Club codere españa login page

El núcleo de ARCA permite definir acciones en un fichero estático de forma declarativa. A partir de esa definición, la propia arquitectura construye las acciones en caliente, incluyendo automáticamente sus variantes de respuesta y error. Además, genera acciones específicas para peticiones HTTPS, eliminando la necesidad de crear servicios HTTP manuales para cada caso.

ARCA también resuelve problemas habituales del desarrollo híbrido que, en muchos proyectos, acaban dispersos o mal resueltos: gestión centralizada de loaders, modales y alertas, posicionamiento automático de header, footer y body según dispositivo, y un conjunto de estilos CSS propios que garantizan coherencia visual.

Cuando llegué al proyecto, ARCA ya existía y empecé utilizándola como desarrollador. Con el tiempo, pude intervenir directamente en su evolución y resolver un problema estructural crítico que limitaba su escalabilidad.

La arquitectura original incluía un bucle de inicialización “a fuego” que se ejecutaba antes de que Angular arrancase, construyendo dinámicamente las acciones. Esto hacía imposible extraer ARCA como librería reutilizable y mantenible fuera del proyecto principal.

La solución pasó por sustituir ngrx en el core por una implementación propia, ligera y específica, basada en observables (RxJS). Esta nueva capa permite declarar y registrar acciones incluso en runtime, sin dependencias rígidas del ciclo de vida de Angular.

Gracias a este cambio, ARCA se convirtió en un node_module independiente, reutilizable y versionable, lo que permitió modularizar la arquitectura y mantenerla alineada en todos los entornos y aplicaciones del ecosistema.

En la práctica, ARCA dejó de ser “una solución interna” para convertirse en un pilar arquitectónico que sostiene aplicaciones complejas, multicanal y multiregión sin sacrificar velocidad de desarrollo ni control técnico.