This is a simple version of CLI-Spotify-Downloader's Web Server except written using node.js and vite instead of python and static HTML/CSS.
This server features a simple web downloader for spotify songs. Using spotify API keys to search and Youtube (yt-dlp) to download the song and place in a structured folder path (~/downloads/ARTIST_NAME/ALBUM_NAME/SONG_NAME.mp3). The UI is mainly the same from the previous spotify web server
- Visit Spotify's Documentation on their web-api and walkthrough the app creation process to obtain you spotify api keys. These are free.
- Use those api keys from spotify and paste them into
backend/.env - You can then run
npm installin both theclientandserverfolders, then runningnpm run devfor frontend andnpm index.jsfor backend. Once both are running you should be able to use.
If you want to run it in a docker container edit docker-compose.yml to your configuration and add your keys in backend/.env and run docker-compose up --build -d to get it running.
Below are some bugs/UI elements that need to be changed soon:
- Mobile search bar needs to come down in '/results' page.
- Update the top heading glass element, as the search bar has been hidden, when in a selected album in the '/library' page.
Below are some brainstorming of features that may be implemented in the future.
- Ability to play the selected song without downloading a. Use YouTube video player within page? b. Would require new page
- UI theme choices a. Maybe multiple options instead of apple like glass UI?
- Ability to view artist and album prior to downloading a. Would require two new pages

