How rahhhbert/spotify-playlist-editor works
Spotify Playlist Editor is a browser-based tool for choosing tracks in one of the user’s playlists and adding selected tracks to another. The documented workflow is login, choose a source, select tracks, choose a target, and confirm. The shown frontend calls FastAPI endpoints, which use Spotipy for playlist access and modification; OAuth is configured in the same backend. The tree includes an alternate track-selection script whose endpoint is not implemented in the shown backend, so that branch is shown without an asserted connection.
Main entry points: main.py App and routes · index.html Playlist editor page · getPlaylists.js Source playlists · listTargetPlaylists.js Target playlists
Components 14
Browser interface
- Playlist editor page
templates/index.html - Source playlists
static/getPlaylists.js - Target playlists
static/listTargetPlaylists.js - Track selection
static/getSourcePlaylist.js - Target selection
static/getTargetPlaylist.js - Transfer confirmation
static/transferSongs.js - Alternate track view
static/sourcePlaylistTracks.js
FastAPI backend
- App and routes
main.py - Playlist listing
main.py - Source track listing
main.py - Add selected tracks
main.py
Spotify integration
- Spotify OAuth
main.py
Other components
- User
- Spotify API
Connections 13
- User → Playlist editor page: uses
README.md - App and routes → Playlist editor page: renders
main.py - User → App and routes: logs in
README.md - App and routes → Spotify OAuth: configures
main.py - Spotify OAuth → Spotify API: authorizes
main.py - Source playlists → Playlist listing: requests playlists
static/getPlaylists.js - Target playlists → Playlist listing: requests playlists
static/listTargetPlaylists.js - Playlist listing → Spotify API: lists playlists
main.py - Track selection → Source track listing: requests tracks
static/getSourcePlaylist.js - Source track listing → Spotify API: reads tracks
main.py - Transfer confirmation → Add selected tracks: submits selections
static/transferSongs.js - Add selected tracks → Spotify API: adds tracks
main.py - Alternate track view → Source track listing: requests tracks