Rediseño con Patrones de un Núcleo de Reservas en un MarTech de Málaga
Visión general
De qué trata este proyecto.
Recibes el módulo en TypeScript (Node.js 20, Vitest) y un set de 120 pruebas E2E (end-to-end) que definen el comportamiento esperado. Identifica los puntos de variabilidad (regla de precio, conversión de moneda, canal de origen) y modela cada uno con el patrón adecuado: Strategy para precios y monedas, Chain of Responsibility para canales, Factory para construir la cadena. Reescribe el núcleo manteniendo verde la suite E2E en cada commit. Cierra con un canal de ejemplo (afiliados B2B) que se añada en menos de 100 líneas y con sus propios tests.
El Briefing
Lo que harás y lo que demostrarás.
Rediseñar un núcleo de reservas con condicionales anidados aplicando Strategy + Chain of Responsibility para que añadir un canal sea trabajo de horas.
Earning criteria — what you'll demonstrate
- Identificar puntos de variabilidad y mapearlos al patrón adecuado
- Refactorizar hacia patrones sin romper la API pública del módulo
- Documentar trade-offs de diseño con argumentos basados en costes futuros
- Demostrar valor de un patrón con una extensión real, no con teoría
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Backend
Saber elegir el patrón adecuado y refactorizar hacia él sin romper E2E es el oficio que distingue al backend senior del mid en producto con módulos cargados de reglas.
Este proyecto afina
- design-patterns
- refactoring
- typescript
Arquitecto de Sistemas
Modelar variabilidad real con patrones y documentar trade-offs es la base del trabajo de arquitectura — este reto cubre el ciclo entero en pequeño.
Este proyecto afina
- design-patterns
- api-design
- solid-principles