StarDylan/SongStackify

Schema/API Design comments (Ananya Thapar)

Opened this issue · 0 comments

  1. Tables: The ER diagram is consistent with the tables shown in the schema.sql file. The ER diagram shows fewer tables than appear in the schema.sql file.
  2. View: It would be nice to have a way to display/view all the playlists similar to catalog in our potion shop.
  3. User Profiles: It could be nice to have a complete user profile - username, image, etc.
  4. Endpoint Mismatch: There is a mismatch between what is requested for set preferred platform in the API spec vs. the implemented code. The endpoint requests two more attributes that are not listed in the spec.
  5. User Authentication: Consider implementing user authentication mechanisms, especially when deleting users are involved.
  6. User_Id Consistency: Specify whether the "user_id" should be included in the request body or as a header for the "Set Preferred Platform" endpoint.
  7. Song ID Type: Clarify the data type for the "song_id" field in the "Add Song" and "Play Song" responses. It's mentioned as an integer in one place and a string in another.
  8. Validation for URL: Specify the expected format for the "link" field in the "Add Song" endpoint. For example, ensure it is a valid URL.
  9. Error Handling: Clearly define error responses for different scenarios, and include informative messages along with appropriate HTTP status codes.
  10. User Feedback and Ratings: Allow users to provide feedback on songs and playlists through likes. This would enhance engagement to your platform.
  11. Collaboration: It would be awesome if you implemented a shared playlist feature, I personally love this feature in Spotify so I’d love to see that in your work!
  12. Search: A search option could be cool to see as well! This way users could search for songs to find which playlists they have them in, or search through their playlists to find the one they are looking for.