TremendoGol
App mobile-first de fixtures, resultados y tablas de posiciones de fútbol, agrupados por liga y con traducción de estados de partido en vivo.
El problema
Las apps de fútbol mezclan cientos de ligas de todo el mundo sin dejarte priorizar las que realmente seguís. Queríamos una forma rápida de ver qué partidos hay hoy y mañana en el fútbol argentino y sudamericano, sin navegar una app cargada de contenido que no viene al caso.
Qué construimos
Un frontend mobile-first en React que muestra los partidos del día agrupados por liga, con el estado traducido al español (primer tiempo, entretiempo, suspendido, etc.) y el resultado en vivo. Atrás armamos un backend propio en Express que consume la API de API-Football, filtra solo las ligas relevantes (con prioridad: Liga Profesional Argentina primero, después copas sudamericanas, después Europa) y usa Prisma sobre PostgreSQL para persistencia.
Desafíos técnicos
- Priorización de ligas: API-Football devuelve partidos de cientos de ligas por día; armamos un mapa de ligas permitidas con un orden de prioridad para mostrar primero lo relevante y descartar el resto.
- Fixtures por zona horaria: para no perder partidos que caen del otro lado de la medianoche según la zona horaria del usuario, el backend trae los fixtures de "hoy" y "mañana" y el filtro final se hace en el cliente con la fecha local.
- Plan gratuito de la API: API-Football limita la cantidad de requests por día en el plan gratuito, así que hay que ser cuidadoso con cuántas veces se pide la misma data.
Qué haríamos distinto
Hoy cada carga de la página vuelve a pedirle los datos a la API externa; con el límite de requests del plan gratuito, un cache con expiración corta (unos minutos) del lado del backend evitaría pedidos repetidos sin que se note en la experiencia. También falta terminar la pestaña de tabla de posiciones, que está en el menú pero todavía no implementada.