Submitted by: Gloria Moudou
Estimated time spent: 20 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.
Video size too large to embed
- 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 had the most trouble understanding the intuition behind the flow of CSS attributes. I feel as though I could have done with more code-along practice.
- 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.
I would have spent much less time on the css portion of the code. I had trouble debugging my css, and that time spent detracted from my time working on flex features. For the next time, I'll organize my structure better to require less time for debugging, and move on quicker if I reach a block.
- 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 liked how, after I realized that I was ffalling behind, I was able to pivot my priorities toward getting the minimal product working. As a result, I feel like I achieved the best balance of UI and functionality that I could have with my limited prior experience. I was thoroughly impressed with many of my classmates' UI, so I would like to try to reach a higher level of design in the next project.
- 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. SAMMY