Volver a proyectos

Mundial 2026

Aplicación web full stack que recrea el Mundial de Fútbol 2026. El frontend en Angular consume un backend NestJS que actúa como BFF (Backend For Frontend) sobre una API de datos con SQLite. Fue un trabajo grupal en el que cada integrante desarrolló una feature.

Angular NestJS TypeScript RxJS

Mi rol

Mi aporte fue la feature de Detalles de Partidos, que lista y muestra todos los partidos del Mundial simulado con filtrado por etapa del torneo. La feature se apoya en una arquitectura en capas que separa el frontend (Angular) del BFF (NestJS) y de la API de datos, e incluye tanto el endpoint del backend como el componente de la interfaz.

Funcionalidades clave

Impacto logrado

Aplicando el patrón BFF, el frontend recibe los datos ya procesados y listos para renderizar: toda la lógica de armado del marcador, resúmenes de goles y tarjetas, y el filtrado por etapa vive en el backend, lo que mantiene el componente Angular simple y enfocado en la presentación. La validación de la entrada y el mapeo centralizado de errores garantizan respuestas consistentes incluso cuando la API de datos no tiene todavía un torneo simulado, ofreciendo al usuario una vista clara y completa del recorrido del Mundial.

Tecnologías

Tecnología Uso / Implementación
Angular Componente de la pantalla de partidos: filtros por etapa, tarjetas y manejo de estados de la UI.
NestJS Endpoint del BFF (controlador + servicio) que consume y transforma los datos de la API del Mundial.
TypeScript Tipado estático de extremo a extremo (DTOs e interfaces de partido).
RxJS Manejo asíncrono de las llamadas HTTP en Angular.
class-validator + class-transformer Validación y normalización de los query params del endpoint.
SQLite + TypeORM Persistencia de los datos del torneo en la API de datos que consume el BFF.
Swagger / OpenAPI Documentación del endpoint del BFF.