- 📱 🍎 Supported platforms: Android, IOS
- 🇺🇸 🇷🇺 Languages: English, Russian
- 🎥 Download audio from YouTube using SpotifyAPI
- 📥 Download the entire playlist with one click
- ❤️ Download favorite tracks
- 🔄 Change the download source if you didn't like the automatic choice
- 🔔 Track downloads in notifications or on the main page
- 💤 Background download (Android only)
You can download this apk if you don't know what kind of architecture you have.
If you know what architecture you have, then download one of the apk listed below.
You can download ipa there.
Since this is a common problem, you don't need Login for normal use! Login is only needed to download your favorite tracks, and it requires changing client secret and client id to yours!
After you have downloaded the app, you must grant it the permissions it will ask for.
Then you can use the app. Just paste the link to the playlist and click the search button.
If you want to download your favorite tracks, and also download playlists "only for you", you must create Spotify Service App
- Follow this link and login - https://developer.spotify.com/
- Follow this link and create your own app - https://developer.spotify.com/dashboard/create
- App name - whatever you want
- App description - whatever you want
- Website - unessentially
- Redirect URI - com.cdev.spotifydownloader://callback
- Go to the application settings and copy the clientId and clientSecret
- Open the settings in Spotify Downloader and paste the clientId and clientSecret into the fields specified for them (first delete the default values)
- Click on the log in button
After logging in, you can download your favorite tracks, as well as playlists "only for you"
- ⭐ I would appreciate it if you star this repository!
- Developed on Flutter
- When developing the application, I used a "Clean Architecture". I don't think this application is an ideal representative of this approach. But if you want, you can use it as an example project.
If you're interested in contributing to this project, there are some key tasks I'd like to get done:
- Implement logging (probably using talker)
- Implement caching for the most recently loaded pages
- Remake the system for getting tracks from SpotifyAPI (make it so that the collection is fetched in parts, prioritizing loading parts that are visible)
- Implement various sources of tracks/audio
- Implement tracks mp3s creation time ordering (for ordered view in mp3 players (like in Spotify)). For example first track in playlist created at 00:01, second track in playlist created at 00:02
- Improve perfomance in big playlists, when downloading all
- Use drift instead of sqflite