Skip to content

Instantly share code, notes, and snippets.

@craftybones
Last active March 26, 2025 13:00
Show Gist options
  • Save craftybones/f43775bf29c865215cf21b719e610ca0 to your computer and use it in GitHub Desktop.
Save craftybones/f43775bf29c865215cf21b719e610ca0 to your computer and use it in GitHub Desktop.

Playlist Manager

Overview

The Playlist Manager is a simple web-based application that allows users to create and manage playlists. Users can view all playlists, inspect individual playlists, add and remove songs, and delete playlists.

Features

1. View Playlists

  • The homepage displays a list of all available playlists.
  • Users can click on a playlist to view its details.
  • The playlist details page shows all songs within the playlist.

2. Create a Playlist

  • Users can create a new playlist by providing a name.
  • Upon successful creation, the user is redirected to view the newly created playlist.

3. Add Songs to a Playlist

  • Users can add songs to an existing playlist.
  • The application ensures that songs are added only to valid playlists.
  • After adding a song, the user is redirected back to the playlist view.

4. Remove Songs from a Playlist

  • Users can remove individual songs from a playlist.
  • Once a song is removed, the playlist view is updated accordingly.

5. Delete a Playlist

  • Users can delete an entire playlist.
  • Deleting a playlist removes all songs associated with it.

User Flow

  1. Users visit the homepage to browse available playlists.
  2. They can create a new playlist or view existing ones.
  3. Within a playlist, users can add or remove songs.
  4. If needed, users can delete a playlist entirely.

Expected Exercise Output

Participants are expected to generate a table outlining the HTTP routes for this application. The table should include the following columns:

HTTP Method Path Purpose Response Status Codes Headers Response Content
GET / Displays the homepage with a list of playlists 200 Content-Type: text/html HTML page with a list of playlists

Each row should represent a different route within the application. The table should account for all the user actions described above.


Screenshot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment