apatheticyogurtΛογισμικό & κατασκευή λογ/κού

13 Δεκ 2013 (πριν από 4 χρόνια και 6 μήνες)

136 εμφανίσεις

Movie Management

Database Program

Danny Solomon

Capstone Project

Advisor: Dr. C. David Shaffer


Description of the Problem

Features / Problems of Other Programs

Purpose of Project


Acquiring Video Release Information

Filtering and Reordering Movies

Tagging Movies


Comparing with Another User’s

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
use program
with improved and new features

Features of Other Programs

Movie Collector (MC) (Desktop Application)

Has many filtering options.

Implements a search bar


(C) (Desktop)

Most comprehensive tool in terms of movie
information provided


My Movies (MM) (Web

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,

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


Program written in Java

User Interface

Web Service Interfaces


Netflix (John
, Lysergic


JSON (Douglas





Database to store data

Acquiring Video Release Information

Uses UPC




Acquiring Video Release Information

Combine information extracted from screen
scraping the previously mentioned websites in
addition to these APIs

Rotten Tomatoes (

The Movie Database (

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.

Movie Sets

When a user enters a barcode that refers to a
movie set (i.e.
Star Wars Trilogy
) , the
process is a little different.

My program acquires information from Blu
- 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.


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
ray OR DVD

All movies in categorized as “Comedy” and

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.

All movies based on a novel

All movies featuring James Bond


None of the movie database programs
interface with Netflix.

The Netflix Queues can become rather
difficult to navigate when the queue grows

Netflix Application

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

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

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

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