Submitted by: Marvin Howell-Aguirre
Estimated time spent: 22 hours spent in total
Deployed Application (optional): Music Playlist Explorer Deployed Site
-
Display Playlists
- Dynamically render playlists on the homepage using JavaScript.
- Fetch data from a provided JSON file and use it to create interactive playlist tiles.
- Each title should display the playlist's cover image, name, creator, and like count.
-
Playlist Details
- Create a modal view that displays detailed information about a playlist when a user clicks on a playlist tile.
- The modal should show the playlist's cover image, name, creator, and a list of songs, including their titles, artists, and durations.
-
Like Playlists
- Implement functionality to allow users to like playlists by clicking a heart icon on each playlist tile.
- Update the like count on the playlist tile when a playlist is liked or unliked.
-
Shuffle Songs
- Enable users to shuffle the songs within a playlist using a shuffle button in the playlist detail modal.
- Rearrange the songs in the modal view when the shuffle button is clicked.
-
Add New Playlists
- Allow users to create new playlists.
- Users can input playlist name, creator, and add multiple songs with details like title, artist, and duration.
-
Edit Existing Playlists
- Enable users to modify the details of existing playlists.
- Add an edit button to each playlist tile.
- Users can update the name, creator, and songs of the playlist.
-
Delete Playlists
- Add a delete button to each playlist tile.
- When clicked, the playlist is removed from the display and data model.
-
Search Functionality
- Implement a search bar that allows users to filter playlists by name or creator.
-
Sorting Options
- Implement a dropdown or button options that allow users to sort the playlist by name, number of likes, or date added.
- Did the topics discussed in your labs prepare you to complete the assignment? Be specific, which features in your weekly assignment did you feel unprepared to complete?
I believe the topics discussed in my labs helped complete the assignment, but it did not fully prepare me since I had to do outside research to solve a lot of errors in my code which is a given in programming. The labs overall helped on teaching me the fundamentals to have a start on the project.
-
If you had more time, what would you have done differently? Would you have added additional features? Changed the way your project responded to a particular event, etc.
If I had more time, I would have changed the structure of my code so I can have each playlist card with a unique id since it would have made my code easier to create from the start. Additionally, having unique ids would allow me to delete playlist and complete the stretch milestones.
-
Reflect on your project demo, what went well? Were there things that maybe didn't go as planned? Did you notice something that your peer did that you would like to try next time?
I felt what went well was learning how to shuffle the songs for any playlist since I was able to process how to code it quickly in the project. As mentioned before, I noticed how my peers used ids for each playlist and for child divs whenever they need to access information.
- Add any links to open-source libraries used in your project.
Give a shout out to somebody from your cohort that especially helped you during your project. This can be a fellow peer, instructor, TA, mentor, etc.
Thomas Wang helped out immensely when helping me fix multiple errors that was related to javascript. He was extremely helpful and wanted to shout him out.