Este es un sistema interactivo de consola desarrollado en Python para gestionar un catálogo de películas. El proyecto fue diseñado con una arquitectura modular y limpia, ideal para la persistencia de datos local mediante archivos CSV y validaciones robustas.
- Gestión CRUD Completa (Alta, Modificación, Eliminación) de películas con IDs autoincrementales.
- Validaciones Rigurosas: Entrada de datos saneada (insensibilidad a mayúsculas en géneros, control de años de lanzamiento, duraciones correctas y nombres de plataformas válidos).
- Consultas y Filtrado: Búsqueda por título, listado y ordenamiento de películas.
- Métricas y Estadísticas:
- Cálculo de promedio de duración de las películas.
- Porcentaje de películas por género específico.
- Porcentaje de películas Aptas para Todo Público (ATP).
- Exportación de reportes de géneros en formato JSON.
- Persistencia de Datos: Lectura y escritura en archivo CSV (
peliculass.csv).
El código está modularizado para separar las responsabilidades de manera clara:
main.py: Punto de entrada de la aplicación. Controla el bucle principal y el menú de navegación de la consola.peliculas.py: Contiene la lógica central de negocio (registro, edición y eliminación de películas) y menús secundarios.validaciones.py: Valida y sanea los inputs del usuario (fechas, enteros, strings, plataformas, géneros, etc.).funciones_archivo.py: Administra la persistencia de datos (carga y guardado de películas en formato CSV).funciones_matematicas.py: Contiene submódulos para cálculos promedio y porcentuales.funciones_mostrar.py: Formatea de manera matricial e imprime la información en la consola de manera legible.peliculass.csv: Archivo de almacenamiento de las películas.
- Asegúrate de tener instalado Python 3.10+ (desarrollado y probado en Python 3.13).
- Clona este repositorio:
git clone https://github.com/Trkmic/movie-management-system.git
- Navega al directorio del proyecto:
cd movie-management-system - Ejecuta la aplicación:
python main.py