Aplicación web para gestionar y reproducir contenido multimedia local
Una plataforma tipo Netflix personalizada para organizar y disfrutar tu colección de anime, películas y series almacenada localmente.
- Características
- Tecnologías
- Arquitectura
- Instalación
- Configuración
- Uso
- Estructura del Proyecto
- API Endpoints
- Contribuir
- 🎭 Gestión de Anime - Organización por temporadas y episodios
- 🎬 Biblioteca de Películas - Catálogo completo de tu colección
- 📺 Series de TV - Administración de series y temporadas
- 🎨 Interfaz moderna - Diseño tipo Netflix responsive
- 🖼️ Logos personalizados - Sistema automático de imágenes y logos
▶️ Reproductor integrado - Reproducción directa desde el navegador- 🔍 Navegación intuitiva - Categorización clara del contenido
- 🚀 Rendimiento optimizado - Carga rápida y eficiente
- Flask - Framework web ligero
- Flask-CORS - Manejo de CORS
- Python 3.x - Lenguaje principal
- React 19.1.1 - Biblioteca de UI
- React Router DOM - Navegación SPA
- CSS3 - Estilos personalizados
- JavaScript ES6+ - Lógica del cliente
- Sistema de archivos local - Contenido multimedia en disco
- JSON - Estructuras de datos dinámicas
CineLocal2/
├── backend-Python/ # Servidor Flask API
│ ├── app.py # Punto de entrada principal
│ ├── models/ # Modelos de datos
│ ├── controllers/ # Controladores (futuro)
│ ├── templates/ # Templates HTML
│ └── static/ # Archivos estáticos
├── frontend-JS/ # Aplicación React
│ ├── src/ # Código fuente
│ ├── public/ # Archivos públicos
│ └── build/ # Build de producción
└── entornoVirtual/ # Entorno virtual Python
Flujo de datos:
- React Frontend → API REST → Flask Backend
- Backend → Sistema de archivos local
- Servicio de archivos multimedia directo
- Python 3.8+
- Node.js 16+
- npm o yarn
# Navegar al directorio del proyecto
cd CineLocal2
# Activar entorno virtual
.\entornoVirtual\Scripts\activate
# Instalar dependencias Python (si es necesario)
pip install flask flask-cors
# Ejecutar servidor backend
cd backend-Python
python app.py# Navegar al frontend
cd frontend-JS
# Instalar dependencias
npm install
# Modo desarrollo
npm start
# Build de producción
npm run buildEdita las rutas en backend-Python/app.py:
MEDIA_PATH = 'Y:' # Ruta de archivos multimedia
IMAGES_PATH = 'Y:\\imgs' # Ruta de imágenes/logosY:/ # Disco de contenido multimedia
├── anime/
│ ├── [nombre-anime]/
│ │ └── temporada-1/
│ │ ├── episodio1.mp4
│ │ └── episodio2.mp4
├── peliculas/
│ ├── pelicula1.mp4
│ └── pelicula2.mkv
├── series/
│ ├── [nombre-serie]/
│ │ └── temporada-1/
└── imgs/ # Logos e imágenes
├── [anime]_logo.png
├── [anime]_tem1.png
└── [pelicula].jpg
-
Iniciar la aplicación:
- Ejecutar backend:
python app.py - Ejecutar frontend:
npm start
- Ejecutar backend:
-
Acceder a la aplicación:
- Desarrollo:
http://localhost:3000 - Producción:
http://localhost:5000
- Desarrollo:
-
Navegación:
- Página principal con 3 categorías
- Clic en categoría → Carga automática de datos
- Navegación por contenido organizado
CineLocal2/
├── README.md # Documentación principal
├── .gitignore # Exclusiones de Git
│
├── backend-Python/
│ ├── app.py # Servidor Flask principal
│ ├── models/
│ │ ├── __init__.py
│ │ └── moviesData.py # Lógica de datos multimedia
│ ├── controllers/ # Controladores MVC (futuro)
│ ├── templates/
│ │ └── player.html # Reproductor de video
│ ├── static/ # Build del frontend
│ └── utils/ # Utilidades
│
├── frontend-JS/
│ ├── package.json # Dependencias npm
│ ├── src/
│ │ ├── App.js # Componente principal
│ │ ├── index.js # Punto de entrada
│ │ ├── pages/ # Páginas principales
│ │ │ ├── Home/ # Página de inicio
│ │ │ ├── Anime/ # Sección anime
│ │ │ ├── Peliculas/ # Sección películas
│ │ │ └── Series/ # Sección series
│ │ ├── components/ # Componentes reutilizables
│ │ └── assets/ # Recursos estáticos
│ └── build/ # Build de producción
│
├── entornoVirtual/ # Entorno virtual Python
└── personal/ # Archivos personales/tests
GET /api/data/anime- Obtener datos de animeGET /api/data/peliculas- Obtener datos de películasGET /api/data/series- Obtener datos de series
GET /images/<filename>- Servir imágenes/logosGET /video/<filename>- Servir archivos de videoGET /play/<filename>- Reproductor de video
GET /- Página principal (SPA)GET /anime- Redirección a SPAGET /peliculas- Redirección a SPAGET /series- Redirección a SPA
- ✅ Backend Flask funcional
- ✅ Frontend React básico
- ✅ Sistema de archivos implementado
- ✅ Navegación entre secciones
- 🔄 Reproductor en desarrollo
- 🔄 Interfaz de usuario en mejora
- Sistema de búsqueda
- Favoritos y listas personalizadas
- Historial de reproducción
- Mejoras en el reproductor
- Sistema de usuarios
- Configuración avanzada
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add: AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto es de uso personal. Todos los derechos reservados.
❓ El backend no encuentra los archivos multimedia
- Verificar que
MEDIA_PATHapunte a la ubicación correcta - Asegurar permisos de lectura en la carpeta
❓ El frontend no conecta con el backend
- Verificar que Flask esté ejecutándose en puerto 5000
- Comprobar configuración de CORS
❓ No se muestran las imágenes
- Verificar que
IMAGES_PATHsea correcto - Confirmar que los nombres de archivo coincidan con la convención
David - Desarrollador Principal
🎬 Disfruta tu cine local con Pecas! 🍿