SaaS de Streaming Deportivo
Tu Repe
Plataforma que graba partidos automáticamente desde cámaras deportivas y permite a los jugadores verlos online.

Descripción General
Las cámaras instaladas en los complejos deportivos graban partidos continuamente desde que el club abre hasta que cierra. El sistema guarda automáticamente el stream de video en fragmentos de 15 minutos.
Cuando los jugadores quieren ver su partido, seleccionan la cancha, fecha y hora de inicio. El sistema usa un atributo de configuración del club llamado "appointmentDuration" para determinar cuándo terminó el partido, y recupera todos los fragmentos de video grabados durante ese rango de tiempo.
Características Principales
- Grabación automática continua desde cámaras deportivas
- Almacenamiento de video en fragmentos de 15 minutos
- Recuperación de partidos según cancha, fecha y hora de inicio
- Streaming de video directamente en la plataforma web
- Funcionalidad de descarga de videos
- Creación de clips de hasta 30 segundos
Stack Tecnológico
Frontend
- React
- TypeScript
Backend
- Node.js
- Express
Base de Datos
- MySQL
Infraestructura
- Linux VPS
- Backblaze B2
Testing
- Jest
Arquitectura del Sistema
Las cámaras deportivas envían un stream de video continuo al servidor backend. El backend procesa y almacena el video en segmentos de 15 minutos. Los metadatos sobre las grabaciones se guardan en MySQL. Cuando un usuario busca un partido, la API calcula el rango de tiempo correcto y devuelve los segmentos de video correspondientes almacenados en Backblaze.
Desafíos Técnicos
Gestión de grabación continua de video
Implementación de un sistema que procesa streams de video continuos de múltiples cámaras y los segmenta eficientemente en fragmentos de 15 minutos para almacenamiento y recuperación optimizados.
Integración con almacenamiento en la nube
Diseño de una arquitectura que maneja archivos de video grandes usando Backblaze B2, implementando uploads multipart y URLs firmadas para streaming seguro.
Recuperación inteligente de partidos
Desarrollo de un algoritmo que calcula el rango de tiempo correcto basado en la duración de citas configurada y recupera los fragmentos de video correspondientes.