Question
The Jukebox Challenge Design a modern jukebox that allows users to listen to live-streamed music. There are many tracks available on the jukebox. So, whether
The Jukebox Challenge
Design a modern jukebox that allows users to listen to live-streamed music.
There are many tracks available on the jukebox. So, whether you're behind the wheel, working out, partying, or relaxing, the right music is always at your fingertips. You can also browse through the artists and celebrities or create a playlist and sit back.
In this challenge, you will design a modern jukebox that contains songs by various artists.
Task #1
This jukebox must contain a catalog of songs by various artists.
Add different genres of music to the catalog. The songs must be in the .wav or .mp4 format.
The catalog can be categorized based on the album's artist, genre, or name.
The jukebox should display all the songs available in the catalog.
The user must be able to search for music based on any of the categories mentioned in the third bullet.
Once a category is specified, an alphabetical search can be offered to the user to locate the music they are looking for.
Task #2
The jukebox should allow a user to create a playlist of songs.
Allow a user to add a song or album to the created playlist.
The user should be able to create multiple playlists and view the contents of the playlists.
Task #3
The design of the modern jukebox is now completed. A user should now be able to play songs from the created playlists.
Display all the songs in the playlist along with the name of the song, album name (if any), and the song's duration in a tabular format.
The user must be able to play any song from the playlist.
The song playing displays the time remaining (in mm:ss format) and presents the list of songs queued for playing.
The user must be able to perform the reverse, forward, pause, resume, and shuffle or loop play of the songs in the playlist.
Hint: Use the AudioInputStream class to play the songs. Search on Oracles website
Requirement Analysis and Design
Identify the requirement from the tasks mentioned above.
Identify all the classes, their attributes, and behaviors.
Identify the relationship among classes and the reusability of methods.
Use RBDMS to store the song list.
Figure out the structure of the tables.
Coding and Testing - 1
Model the classes, attributes, and behaviors identified in the design phase.
Provide structure to the classes.
Identify the OOPS concepts that can be used.
Implement the OOPS concepts in the class structure created.
Add all the required attributes inside each class.
Use property methods wherever required.
Add the behaviors.
Coding and Testing - 2
Implement the behaviors.
Implement appropriate access specifications.
Write the business logic in the methods.
Write test methods for each class.
Write positive and negative test scenarios.
Ensure appropriate usage of:
Conditions and Looping
Arrays and Strings
Predefined and Custom Exceptions
Collections and Java8 Features
Files
JDBC
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started