Movie Management Database Program Danny Solomon Capstone Project Advisor: Dr. C. David Shaffer.
-
Upload
joanna-hutchinson -
Category
Documents
-
view
222 -
download
1
Transcript of 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
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
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
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
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)
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
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
Acquiring Video Release Information• Uses UPC• Screen-Scraping– blu-ray.com– dvdreleasedates.com
Acquiring Video Release Information
• 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
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.
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.
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…
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
Filtering & Reordering Movies
• Then selecting “Action & Adventure” will bring up a list of all the action movies in the previous list
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
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
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”
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
Netflix• None of the movie database programs
interface with Netflix.• The Netflix Queues can become rather difficult
to navigate when the queue grows large
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
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
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