| | 1 | = UseCase004 - View !Album/Single details |
| | 2 | |
| | 3 | **Initiating actors:** |
| | 4 | |
| | 5 | * Unregistered Guest |
| | 6 | |
| | 7 | * Logged-Out User |
| | 8 | |
| | 9 | * Logged-In Consumer |
| | 10 | |
| | 11 | * Logged-In Admin |
| | 12 | |
| | 13 | {{{#!div style="text-align: justify; width: 100%;" |
| | 14 | The goal of this use case is to provide the user with a comprehensive view of a specific musical release, including its tracklist and available physical formats. By selecting a specific album or single, the user can see in-depth information such as song durations and specific product attributes like price and stock before deciding to add an item to their cart or wishlist. |
| | 15 | }}} |
| | 16 | |
| | 17 | == Scenario |
| | 18 | |
| | 19 | {{{#!div style="text-align: justify; width: 100%;" |
| | 20 | 1. User selects a specific Release from the catalog to view its detailed information. |
| | 21 | |
| | 22 | 2. System retrieves the core metadata for the selected Release, including the title, genre, record_label, release_date, and cover_photo. |
| | 23 | |
| | 24 | 3. System identifies the associated Artist to display the artist_name and artist description. |
| | 25 | |
| | 26 | 4. System checks the Release type. If it is an Album, it retrieves the list of Songs it contains via the "contains" relationship. On the other hand, if it is a Single, it retrieves the duration and the featured artists via the "features" relationship. |
| | 27 | |
| | 28 | 5. System retrieves all physical Products linked to that Release, displaying the available formats (Vinyl, CD, Cassette), their individual prices, and current stock status. |
| | 29 | |
| | 30 | 6. System displays the complete details page to the user, organized by tracklist and available purchase options. |
| | 31 | }}} |