Skip to the content.

Software Design and Engineering Enhancement

Before I combined both projects, I was performing a considerable amount of cleanup work on the two projects.

The reason I combined them is due to the similarities between projects. Both used a list-like structure and displayed an object with two strings.

The new goal was to take the original Jukebox concept and the Playlist UI and combine them.

The first part:

  1. External database to allow growth and changes to playlists. (MongoDB)
  2. Skipping songs and replaying songs,
  3. Ability to change playlists during playback (text playback).

After core functionality is implemented, I added smaller features to the UI.

These goals were accomplished, though I had hoped to include personalization and custom playlists.

How each slide is made after implementing this class.

/**
 * Constructor for a slide
 *
 * @param   str1        The title of a slide
 * @param   str2        The description of a slide
 * @param   imagePath   Path to the image
 */
public Slide(String str1, String str2, String imagePath) {
    this.str1 = str1;
    this.str2 = str2;
    this.imagePath = imagePath;
}

After I expanded on this idea, I used the slideshow UI template to plug in the strings I needed. It started out looking like this, and the end result is almost identical. (It’s Java.awt and Swing)

White box -> application
Large black rectangle -> the image
First thin line -> artist
Second thin line -> song title
Left Blue Button -> previous button
Right Blue Button -> next button

Return Home