Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

26
Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer

Transcript of Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Page 1: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Movie Management Database Program

Danny Solomon Capstone Project

Advisor: Dr. C. David Shaffer

Page 2: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Outline• Description of the Problem• Features / Problems of Other Programs• Purpose of Project• Implementation• Acquiring Video Release Information• Filtering and Reordering Movies• Tagging Movies• Netflix• Comparing with Another User’s Database

Page 3: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Description of the Problem

• Serious movie collectors need a tool to organize and search their collection

• There are many movie database programs out there, but none of them feature everything a user desires

• I wanted to develop a simple-to-use program with improved and new features

Page 4: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Features of Other Programs

• Movie Collector (MC) (Desktop Application)– Has many filtering options.– Implements a search bar

• Coollector (C) (Desktop)– Most comprehensive tool in terms of movie

information provided• Blu-ray.com’s My Movies (MM) (Web-based)– User collection comparisons• But not specific movies

Page 5: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Common Problems with Similar Programs

• Few sorting, filtering, or searching options (MM, C)

• Only one video format could be entered per movie (All)

• Mishandles or does not recognize multi-movie sets (C, MC)

• Lack of information for multi-movie sets (C, MC)

Page 6: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Purpose of Project

• Improve upon options previous movie collection programs feature

• Add features to better handle multi-movie sets• Add new options, including access to Netflix and

User Database Comparing

Page 7: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Implementation

• Program written in Java– User Interface– Web Service Interfaces • api.rottentomatoes.com• api.tmdb.com

– Libraries • Netflix (John Haren, Lysergic Java)• JSON (Douglas Crockford )• SQLite – jdbc

• SQLite Database to store data

Page 8: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Acquiring Video Release Information• Uses UPC• Screen-Scraping– blu-ray.com– dvdreleasedates.com

Page 9: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Acquiring Video Release Information

Page 10: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

• Combine information extracted from screen-scraping the previously mentioned websites in addition to these APIs– http://developer.rottentomatoes.com/• Rotten Tomatoes (http://www.rottentomatoes.com/)

– http://docs.themoviedb.apiary.io/• The Movie Database (http://www.themoviedb.org/)

Acquiring Video Release Information

Page 11: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Acquiring Video Release Information

• Once complete, the user is able to edit any information he or she wants before adding the movie to the database by using the interface pictured in the next slide.

Page 12: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.
Page 13: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Multi-Movie Sets• When a user enters a barcode that refers to a

multi-movie set (i.e. Star Wars Trilogy) , the process is a little different.

• My program acquires information from Blu-ray.com on each individual movie in the set.

• The database is designed to maintain which movies are part of a set.

Page 14: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Filtering & Reordering Movies

• The “Reorder By” buttons simply reorder the current list of movies by the labeled attribute.

• Examples– Title reorders by alphabetical order and reverse– Year reorders by oldest to newest and reverse– And so on…

Page 15: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Filtering & Reordering Movies• The “Filter By” buttons divide the list• For example, clicking on “Genres” first

displays a list of genres in the current list

Page 16: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Filtering & Reordering Movies

• Then selecting “Action & Adventure” will bring up a list of all the action movies in the previous list

Page 17: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Filtering & Reordering Movies• After this, the user can then further divide

the list by format in a similar fashion.• This way, it is possible for the user to bring up

a list of all action movies they own on DVD

Page 18: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Filtering & Reordering Movies• As the user filters through the list, the GUI will add

buttons that represent the filtering traversal.• Each button will be clickable so that the user can

easily go back to a previous filtering option

Page 19: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Filtering & Reordering Movies• I added keyboard commands to implement

“and” (CTRL + Click) and “or” (ALT + Click)• This way, the user can bring up more complex

lists. Examples:– All movies on Blu-ray OR DVD– All movies in categorized as “Comedy” and

“Drama”

Page 20: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Tagging Movies• Each movie can be “tagged” (much like

YouTube videos) with descriptive phrases and/or character names

• Many tags come from the APIs, but the user can add his/her own at the Add Movie dialog

• A user can search movies by these tags. Examples:– All movies based on a novel– All movies featuring James Bond

Page 21: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Netflix• None of the movie database programs

interface with Netflix.• The Netflix Queues can become rather difficult

to navigate when the queue grows large

Page 22: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Netflix Application

• My goal was to integrate Netflix into my database program, but Netflix’s terms and conditions stated the application must be separate.

• Gives user the ability to filter through his/her Netflix Queues the same way he/she filters through the database

• Easier to see what movies are in Queue• Reused as much of the existing code as

possible

Page 23: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.
Page 24: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Database Comparing

• Implements a method for a user to compare his/her collection with another user’s

• Uses three-way split-screen (Venn Diagram) design for viewing databases

• Can also compare collections by statistics

Page 25: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.
Page 26: Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.

Future Work

• Add more database comparing statistics• Get the “Filter By” buttons working for other

applications• Improve way cast and crew info is displayed• Improve filtering • Redesign/Redo some features• Implement way for the user to reorganize the

Queue if they please