Integrantes: Camila Carrasco, Christian Wiche
En la actualidad, es común poseer archivos de vídeo en el computador personal, archivos como: películas, series, entre otros. Cuando se tiene una gran cantidad de este tipo de archivos, puede que la organización sea un problema, ya que el hecho de tener solo el nombre de un archivo no otorga gran información de su contenido. En caso de tratarse de una pelicula o serie, informacion como: Genero, rating, reseña previa, entre otras.
Se creará una interfaz gráfica que permita observar archivos de video de una manera más ordenada e informativa. Se buscara modelar como objeto de software cada archivo de video, ya sean peliculas, series, entre otros.
El usuario debe poder agregar al programa los archivos que desee organizar, y el programa, se encargará de buscar la información relevante para cada archivo en internet.
Usuario | Sistema |
---|---|
Usuario ejecuta el programa. | |
Sistema inicia el programa. Creando frames, paneles, menus. | |
Usuario selecciona opcion 'Files' del menu. | |
El sistema abre menu Files. | |
Usuario selecciona la opcion 'Add movie folder'. | |
El programa abre dialogo para seleccionar carpeta. | |
Usuario selecciona carpeta. | |
El programa lista los archivos de video de la carpeta. | |
El programa revisa si los archivos se encuentran en la base de datos. | |
El programa descarga informacion de archivos nuevos. | |
Sistema muestra por pantalla la lista de peliculas que han sido indexadas a el. |
Usuario | Sistema |
---|---|
Usuario ejecuta el programa. | |
Sistema inicia el programa. Creando frames, paneles, menus y cargando peliculas anexadas. | |
Usuario elige pelicula que desea abrir, y clickea su poster. | |
Programa muestra nuevo panel con informacion de la pelicula | |
Usuario presiona boton con poster de la pelicula. | |
Programa vuelve a mostrar panel con grid de peliculas | |
Programa abre la pelicula seleccionada en el reproductor de video que se tenga por default. |
Usuario | Sistema |
---|---|
Usuario ejecuta el programa. | |
Sistema inicia el programa. Creando frames, paneles, menus y cargando peliculas anexadas | |
Usuario selecciona opcion 'Sorting' del menu. | |
El sistema abre menu Sorting. | |
Usuario selecciona la opcion 'Genres'. | |
Programa muestra una nueva grid de peliculas con un grupo de peliculas para cada genero. |
Para la implementacion del programa se utilizo el software "JetBrains IntelliJ" enfocado en el desarrollo de aplicaciones con el lenguaje Java. Además de utilizar tres librerias externas: Tika, JSoup y h2.
Librería | Uso |
H2 (Base de datos) | Se utilizó de forma embebida para el almacenamiento de la información básica de la peícula. |
Tika (Metadata) | Se utilizó para la obtención de tipos de archivo y extensiones con el fin de clasificar si los elementos procesados correspondían o no a video. |
Jsoup (Parse de páginas web) | Se utilizó para rescatar, mediante el parseo del código html de la página, la información asociada a la película, además de la ubicación del poster de la misma. |
Para implementar el proyecto se utilizó un desarrollo iterativo e incremental, de manera similiar a las tareas.
Resumen de las clases:
A continución se muestran los diagramas UML solicitados::
Diagrama de clases:
Clases que usan las librerias externas:
Usuario ejecuta el programa. Sistema inicia el programa creando frames, paneles, menus.
Usuario selecciona opcion 'Files' del menu. El sistema abre menu Files
Usuario selecciona la opcion 'Add movie folder'.
El programa abre dialogo para seleccionar carpeta.
Usuario selecciona carpeta.
El programa lista los archivos de video de la carpeta
El programa descarga informacion de archivos nuevos
Sistema muestra por pantalla la lista de peliculas que han sido indexadas a el.
Sistema inicia el programa creando frames, paneles, menus y cargando peliculas anexadas.
Usuario apreta poster de la pelicula.
Programa muestra nuevo panel con informacion de la pelicula
Usuario presiona boton con poster de la pelicula. Programa vuelve a mostrar panel con grid de peliculas, y se abre la pelicula seleccionada.
Sistema inicia el programa creando frames, paneles, menus y cargando peliculas anexadas.
Usuario selecciona opcion 'Sorting' del menu. El sistema abre menu Sorting.
Usuario selecciona la opcion 'Genres'.
Programa muestra una nueva grid de peliculas con un grupo de peliculas para cada genero.
Para ver el video que muestra el programa funcionando ofrecemos dos opciones:
Para descargar el video, haz click aquí O bien, puedes acceder al video en el siguiente link de youtube link
Las dificultades principales de este proyecto tuvieron relación principalmente con el manejo de la información asociado a los archivos de video.
Desde la perspectiva de la obtención de los datos y a falta de una API espacializada (por ser de pago) se tuvo que recurrir al estudio del código fuente de página web para utilizar un parseador. Esta técnica, aunque efectiva, trae problemas de robustez al sistema al ser sumamente dependiente de los cambios de la página objetivo.
Desde el punto de vista del almacenamiento y organización de los datos, la dificultad principal dijo relación con la necesidad de diseñar e implementar una base de datos embebida. Esto implicó dos cosas principalmente: el estudio y aplicación de lenguaje SQL y investigar los criterios y formas de crear una base de datos confiable.