4 1 Architectural Views - vctrblck/blast GitHub Wiki

Logical View

These are the functionalities provided to the user.

Including but not limited to:

  • Playing and Pausing a Song

  • Creating Playlists/ Deleting Playlists

  • Adding songs to playlists/ Removing songs from playlist

  • Searching for songs, albums and artists

  • Browsing Genres

  • Increasing and Decreasing the Volume

  • Continuous automated play

  • Playing liked songs

  • Seeking song by progress bar tap

  • Looping/ Repeating a song

State diagram (1)

Development View

The software administration from the point of view of the programmer.

Process View

The dynamic aspects of the system, explaining the system processes and how they communicate.

  • A user will type in user credentials and they will be sent to the API. If incorrect details are entered, the system will request user credentials again. The system will be in a loop until valid credentials are entered.
  • Once valid credentials are entered, users can browse the homepage for recently released songs. User can choose to search a song, search an artist or an album. A request will be sent to the API with the query of the specified search. API will send back a response with the requested data. User is able to play music according to the returned tab.
  • User can choose to create a playlist and add songs to the playlist. Songs will be played in order of addition to the playlist, thus queuing the songs.
  • Once the response is received, it displays the song list. A user may press the song name and a request is sent to the API with the song ID and the song plays. User can pause the song, control the volume of the song, or choose to play the upcoming song (next and previous) .

Copy of sequence diagram

Physical View

The physical distribution of the system, as well as the physical connections between distributed parts.

  • Device nodes include:

    • Client device which can either be a mobile cellphone or a computer.
    • Server device
  • Execution Environments include:

    • Web browser running on client device
    • Spotify server

DeploymentDiagramm

Scenarios

List of steps defining interactions between a role and a system to achieve some goal.

  • Users login

  • Spotify API provides authentication feature.

  • Spotify API provides song metadata.

  • Users creates playlists.

  • User browses albums.

  • User browses genres

  • User browses artists.

  • Users play songs.

  • Users adjust the volume.

  • User plays favourite songs

  • User seeks timestamp on progress bar

  • User plays music continuously

  • User loops on a song.

use case