DVD Manager

This program was a project for my Software Engineering class. I was given the barebones code for a console-driven program that organized DVDs and was tasked with completing the console app to allow the following features: add/modify DVDs, remove DVDs, edit DVD details, get the total running time of the movies, and view the DVD collection. After completing the console app, I had to create a GUI for the app which accomplished the same things. Additionally, I added the feature of adding favorites and viewing only favorited DVDs.

In order to complete the application, I had to write a class representing the collection of DVDs and write its methods to be used by the program. While writing the DVD collection class, I had to make sure all of its features could be utilized by a GUI class.

In addition to creating the application, I had to write and run several tests on it using JUnit. I built tests for the console UI, the DVD class, and the DVD collection class. I also built a test suite which ran the tests. I used the results of the tests to constantly improve the overall program and locate bugs that would be hard to spot otherwise.

This was an individual project (no collaborations), written entirely in Java and utilizing Java's "swing" library for the GUI.

Top 5 Skills Demonstrated

Visit the GitHub repository for this project:

DVD Manager GitHub Repository

Demo:

Adding a DVD
Add DVD

This action took the details of a movie as input and added a DVD with those details to the collection. If the title already exists, the other details of the DVD will be modified instead.

Removing a DVD
Remove DVD

This action took the title of a movie as input and removed its DVD from the collection.

Get DVDs by Rating
Get DVD by rating

This took a rating such as "PG" or "R" as an input and returned all of the DVDs with that rating.

Get Total Running Time
Total Running Time

This returned the total running time of all the DVDs.

Edit DVD details
Edit DVD

This action allowed the user to choose a DVD and edit its details, as well as add it to favorites.

View DVD details
View DVD

This allowed the user to select a movie and view its details, including a picture representing it.

Show Favorited DVDs
Show DVD Favorites

This feature allowed the user to view the details of the DVDs that have been favorited.

JUnit Testing
JUnit Testing

This shows the result of running the test suite, which ran all tests on the DVD, DVD collection, and console UI classes.