NetFlux
NetFlux es tener tu propio Netflix Casero!
Trabajo
Tareas humanas y de agentes, conectadas con issues y milestones.
Security Specialist: Auditoría completa y eliminación de todas las credenciales hardcodeadas en todo el repositorio (.env.example, backend/auth.py, scripts/init_db.sh)
Eliminar SECRET_KEY hardcodeada, credenciales explícitas en .env.example, y cualquier fallback inseguro. Reemplazar con variables de entorno obligatorias. Validar que .env no se suba a repositorio público.
@kibotGenerar video de prueba funcional con FFmpeg (HLS + Range Requests)
Crear init_media.sh que genere video MP4 funcional con FFmpeg, convertir a HLS (.m3u8 + .ts), verificar codecs compatibles.
@kibotConfigurar PostgreSQL con connection pooling (SQLAlchemy asyncpg)
Implementar pool_size=10, max_overflow=20, pool_timeout=30 en backend/config.py. Migrar modelos a PostgreSQL real.
@kibotEliminar todas las credenciales hardcodeadas del repositorio (auth.py, init_db.py, .env.example)
Auditoría completa de seguridad: identificar y eliminar SECRET_KEY, DB_PASSWORD, API_KEYS en todos los archivos. Reemplazar con variables de entorno obligatorias.
@kibotEliminar credenciales hardcodeadas en todo el repositorio
Auditoría completa de seguridad para eliminar SECRET_KEY, DB_PASSWORD y cualquier credencial expuesta en .env.example, init_db.py, init_db.sh, backend/auth.py y scripts de inicialización. Reemplazar con placeholders segu
@kibotAuth Specialist: Implementar endpoints de autenticación completos (Registro/Login) con JWT
Especialista en autenticación que implementará endpoints /register y /login con JWT, corregirá importaciones (CryptContext vs CryptPassword), configurará SECRET_KEY desde variables de entorno y integrará lógica de valida
@kibotMedia Specialist: Generar video de prueba funcional con FFmpeg en /app/media
Especialista en multimedia que corregirá init_media.sh, generará video binario real usando testsrc o similar, validará codecs compatibles y configurará transcodificación FFmpeg para streaming HLS.
@kibotDatabase Specialist: Configurar PostgreSQL con connection pooling y migrar modelos
Especialista en bases de datos que implementará connection pooling (pgbouncer o SQLAlchemy pool), configurará DATABASE_URL desde variables de entorno, actualizará dependencias de SQLAlchemy para PostgreSQL y creará migra
@kibotBackend Security Specialist: Auditoría completa de credenciales hardcodeadas en todo el repositorio
Especialista en seguridad que revisará todos los archivos (scripts, configs, tests) para eliminar cualquier credencial hardcodeada. Implementará variables de entorno seguras y validará que no haya secretos expuestos en l
@kibotBackend Security: Auditoría completa de credenciales hardcodeadas
Revisar todos los scripts, configuraciones y archivos .env para eliminar cualquier credencial hardcodeada. Crear sistema de variables de entorno seguro con validación.
@kibotBackend: Implementar endpoints de autenticación completos (Registro/Login)
Crear endpoints REST con JWT, implementar registro de usuarios, login con validación de credenciales, y manejar tokens correctamente. Integrar CryptContext para seguridad.
@kibotBackend Security: Eliminar todas las credenciales hardcodeadas en scripts y configuraciones
Revisar init_db.py, .env.example, backend/auth.py y todos los scripts de inicialización. Migrar a variables de entorno seguras (DATABASE_URL, SECRET_KEY, ALGORITHM). Crear script de auditoría para verificar ausencia de c
@kibotIntegrar autenticación JWT completa en Backend
Implementar endpoints de autenticación (Registro/Login) con JWT usando CryptContext. Asegurar que los contratos de autenticación estén completos y validados.
@kibotConfigurar PostgreSQL con connection pooling
Implementar conexión a PostgreSQL con connection pooling en backend/data/database.py. Actualizar init_db.py para usar variables de entorno y no credenciales hardcodeadas.
@kibotGenerar video de prueba funcional con FFmpeg
Crear archivo de video de prueba funcional en /app/media usando FFmpeg con filtros complejos correctos. Validar que el archivo sea reproducible y cumpla con los requisitos de streaming.
@kibotEliminar credenciales hardcodeadas en scripts y configuraciones
Eliminar todas las credenciales hardcodeadas en init_db.py, .env.example, backend/auth.py y tests/test_pg_connection.py. Implementar variables de entorno para DATABASE_URL, SECRET_KEY y ALGORITHM.
@kibotIntegrar lógica de streaming completa (Range Requests + HLS)
Implementar endpoint /stream/{video_id} con FileResponse, manejo de headers Range RFC 7233, transcodificación FFmpeg opcional y reproductor HLS.js en frontend.
@kibotMigrar persistencia a PostgreSQL con connection pooling
Actualizar init_db.py con soporte de pooling, definir modelo StreamMetadata completo y migrar datos existentes. Validar conexión en entorno de producción.
@kibotGenerar video de prueba funcional en /app/media
Ejecutar init_media.sh corregido para generar video binario real (720p, H.264/AAC) con codecs compatibles. Asegurar directorio escribible y FFmpeg instalado.
@kibotIntegrar flujo de autenticación en Frontend React
Conectar UI de login/registro con backend, manejar errores del reproductor y configurar CORS para pruebas locales.
@kibotImplementar endpoints de autenticación (Registro/Login) con JWT
Crear lógica de registro de usuarios, login y emisión de tokens JWT. Corregir importaciones de CryptContext.
@kibotConfigurar PostgreSQL con pooling y migrar modelos
Implementar conexión segura a PostgreSQL, actualizar dependencias SQLAlchemy y definir modelo StreamMetadata completo en backend.
@kibotEjecutar pruebas de streaming finales (Range Requests + HLS)
Validar que el reproductor HLS.js reproduce correctamente el video generado por init_media.sh y que los headers Range funcionan según RFC 7233.
@kibotIntegrar autenticación JWT completa en Frontend React
Conectar los endpoints /auth/login, /auth/register y /auth/me del backend con el frontend, manejar tokens y redirecciones.
@kibotIntegrar lógica de streaming completa
Implementar reproducción real con HLS.js y manejo de errores de red.
@kibotConfigurar transcodificación FFmpeg
Crear script de configuración para FFmpeg en el contenedor Docker.
@kibotCrear archivo de video de prueba funcional
Generar un video de prueba de 5 minutos en MP4 con FFmpeg para pruebas de streaming y transcodificación
@kibotValidar compatibilidad de codecs en producción
Asegurar que los archivos transcodificados son compatibles con todos los navegadores y dispositivos objetivo.
@kibotConfigurar transcodificación FFmpeg con video real
Probar la transcodificación del archivo Big Buck Bunny para asegurar compatibilidad de codecs.
@kibotAñadir autenticación de usuarios (JWT)
Implementar sistema de login y gestión de sesiones para usuarios.
@kibotMejorar manejo de errores en reproductor HLS.js
Añadir listeners de error y eventos de buffering al componente VideoPlayer para UX robusta.
@kibotOptimizar recursos de transcodificación
Añadir límites de concurrencia y gestión de memoria para evitar saturación del CPU durante la conversión.
@kibotImplementar Pruebas de Streaming (Range Requests)
Crear un script de prueba o endpoint específico para validar que los headers Range se manejan correctamente en el servidor web.
@kibotConfigurar Frontend React
Inicializar proyecto Vite con React. Implementar layout principal, grid de películas/series y reproductor de video (HLS/DASH).
@kibotIntegrar Reproductor en Frontend
Añadir componente HTML5 Video al App.jsx para consumir el endpoint de streaming y manejar errores de carga.
@kibotImplementar Lógica de Streaming
Preparar endpoints para reproducción de video.
@kibotSolucionar todos los Issues Abiertos
Analiza y soluciona todos los Issues del proyecto NetFlux
@kibotImplementar lógica de autenticación completa (Login + Registro)
Asegurar que el frontend pueda registrar usuarios y obtener tokens JWT correctamente.
@kibotEjecutar init_media.sh en servidor
Asegurar que el directorio /app/media exista y se ejecute el script para generar test_movie_1.mp4 (5s, 720p).
@kibotIntegrar transcodificación FFmpeg en backend
Conectar el script init_ffmpeg.sh con la lógica de streaming para generar HLS/DASH.
@kibotValidar conexión PostgreSQL con pooling en entorno de producción
Verificar que init_db.py y la configuración de connection pooling funcionan correctamente sin credenciales hardcodeadas y con DATABASE_URL definida.
@kibotValidar conexión PostgreSQL en producción
Asegurar que la migración a PostgreSQL funcione correctamente con connection pooling.
@kibotCrear archivo de video de prueba funcional
Ejecutar scripts/init_media.sh para generar el MP4 en /app/media y validar que sea legible por el backend.
@kibotImplementar autenticación JWT completa
Finalizar implementación de autenticación JWT con refresh tokens y validación en middleware
@kibotGenerar video de prueba funcional y corregir init_media.sh
Ejecutar script para crear archivo binario real en /app/media (720p, H.264/AAC) y validar codecs. Corregir conflictos en filter_complex.
@kibotConfigurar autenticación JWT completa con CryptContext
Implementar endpoints /auth/login y /auth/register con validación de contraseñas seguras, tokens JWT expirables y manejo de sesiones. Corregir importaciones incorrectas (CryptPassword → CryptContext).
@kibotValidar conexión PostgreSQL con pooling
Revisar init_db.py y asegurar uso de connection pooling en producción.
@kibotImplementar Backend API con FastAPI
Crear endpoints para autenticación, gestión de metadatos y control de reproducción (playback). Configurar conexión con PostgreSQL y MinIO.
@kibotConfigurar Lógica de Streaming
Implementar endpoint GET /movies/{id}/stream con manejo de headers de rango y CORS, y preparar la lógica de descarga directa o proxy.
@kibotEjecutar init_media.sh en servidor de producción para generar video binario real
El script scripts/init_media.sh está listo pero requiere ejecución en el servidor Ubuntu 24 LTS para generar /app/media/test_movie_1.mp4. Asignar a especialista de despliegue.
@kibotDefinir modelo StreamMetadata completo
Añadir definición del modelo StreamMetadata en backend/models.py con todos los campos necesarios para gestión de streams
@kibotConfigurar manejo de errores en procesos de transcodificación
Implementar lógica para capturar fallos en FFmpeg (ej. codecs no soportados) y devolver mensajes claros al cliente.
@kibotValidar endpoint de streaming con archivos reales
Crear un script de prueba o endpoint dedicado para verificar que el streaming funciona con archivos locales antes de producción.
@kibotCrear script de validación local para Range Requests
Generar un script que simule la petición al endpoint /stream verificando headers y respuesta parcial sin necesidad del servidor activo.
@kibotImplementar componente Login en Frontend React
Crear LoginForm.jsx con integración de los endpoints JWT creados en backend para cerrar el issue de autenticación.
@kibotProveer archivo de video de prueba (Big Buck Bunny)
Descargar y colocar Big Buck Bunny MP4 en /app/media para permitir pruebas reales de streaming y transcodificación.
@kibotMigrar persistencia a PostgreSQL en producción
Preparar la migración de SQLite a PostgreSQL para escalabilidad futura.
@kibotConfigurar persistencia de metadatos (PostgreSQL)
Implementar conexión a PostgreSQL y modelos de datos para usuarios, películas y series.
@kibotValidar configuración de transcodificación FFmpeg en contenedor
Asegurar que los binarios de FFmpeg estén correctamente instalados y accesibles en la imagen Docker final antes de probar con archivos reales.
@kibotConfigurar persistencia de metadatos
Implementar modelo de datos en SQLAlchemy para guardar información de películas/series (título, descripción, poster, ruta del archivo) y conectar con SQLite o PostgreSQL.
@kibotDefinir Esquema de Base de Datos
Diseñar tablas para usuarios, metadatos de películas/series, episodios y historial de visualización.
@kibot