Application: sonidITO
Similar to Spotify, with a clean and intuitive design.
Allows administrators to add, edit, and manage songs, users, and playlists.
View personalized "Likes" (songs the user has marked as favorites).
Access pre-defined playlists.
Explore recommended playlists based on user prefererences.
Programming Language : Java
Database : MySQL
Design : User-friendly interface inspired by Spotify.
PROGRAM EXECUTION
Create your account with your corresponding details
Confirmation of successfully created user
User creation confirmation via PDF
This file describes the methods used to interact with the database in a playlist and song management system.
Retrieves all songs associated with a specific playlist.
- idPlaylist: Unique identifier of the playlist.
- A list of song objects representing the playlist's songs.
- Executes an SQL query joining the playlist_song and song tables.
- Processes the result and builds a list of song objects.
- Handles SQL exceptions and returns an empty list in case of error.
Retrieves the details of a specific song based on its name.
- nombreCancion: Name of the song to search for.
- A string list (List) containing the song details in the following order:
- Song ID
- Name
- Artist
- Album
- Duration
- Image path
- Song path
- Genre
- Performs an SQL query to find a song with a matching name.
- Returns an empty list if not found.
Retrieves basic data of a specific playlist.
- idPlaylist: Unique identifier of the playlist.
- A string array (String[]) containing:
- Playlist ID
- Playlist name
- Associated image path
- Queries the playlist_existente table to get playlist data.
- Handles errors and returns null if any issues occur.
Gets all playlists associated with a user.
- idUsuario: Unique user identifier.
- A list of string arrays (List<String[]>), where each array contains:
- Playlist ID
- Playlist name
- Image path
- Performs an SQL query to get user-related playlists.
- Returns an empty list in case of error.
Retrieves songs marked as favorites by a user.
- id_usuario: Unique user identifier.
- A list of integers (List) containing favorite song IDs.
- Queries the favoritosusuario table for a user's favorite songs.
- Handles SQL exceptions and returns an empty list if any issues occur.
Gets complete details of a set of favorite songs.
- idsCanciones: List of song IDs.
- A list of song objects with song details.
- Builds a dynamic query using IN (?, ?, ...) to search multiple songs.
- Processes results and converts them into song objects.
Checks if a song is marked as favorite by a user.
- id_usuario: User identifier.
- id_cancion: Song identifier.
- true if the song is marked as favorite, false otherwise.
- Executes an SQL query that returns true if a matching record exists.
Adds a song to a user's favorites list.
- id_usuario: User identifier
- id_cancion: Song identifier
- true if insertion was successful, false on error
- Executes an INSERT command to add the record to the favoritosusuario table
Removes a song from a user's favorites
- id_usuario: User identifier
- id_cancion: Song identifier
- true if deletion was successful, false on error
- Executes a DELETE command to remove the record from favoritosusuario table
Gets all available playlists in the system
- A list of string arrays (List<String[]>), where each array contains:
- Playlist ID
- Playlist name
- Image path
- Description
The program interface consists of approximately 7 pages (including main) that cover all program management from user creation (admin/user view) to music playback.
Login screen - can determine if user is admin or regular user and redirect accordingly
User creation from user view - system allows user to create new account (cannot choose admin/user role)
Admin menu
This menu has 5 buttons, each with specific functionality