Build a website that allows users to upload music files and create playlists: Packages: music-metadata, node-id3, node-lame.
- Users should be able to login and upload mp3 files.
- These should be displayed in a single list and for each song the page should extract and display the ID3 data extracted from the file.
- The user should be able to play these back through the web browser.
- A user should be able to create multiple playlists.
- When a music file is uploaded it should be assigned to a specific playlist.
- Each playlist should have a square image uploaded as its album art when it is added.
- If the image is not square it should be auto-cropped to make it so (but keep aspect ratio).
- Any non-music file that a user tries to upload should be rejected with the reason given.
- The user should be able to view, play, rate and comment on other peoples playlists.
- Ratings should be on a 5 star scale.
- A user should be able to see other users' comments plus the average rating.
- A user should be able to see the same on other people's playlists.