How xl1126/sodamusic-download works
Soda Download is a local Vue/Express application for signing in to Soda Music, resolving shared tracks or videos, browsing playlists and recommendations, and downloading individual or batched media. Its main workflow runs from a user-selected page through frontend API clients to Express route handlers, which obtain metadata or media and return results for display or download. The README documents capabilities beyond the sampled implementation; those are represented at their documented module paths, without assuming unsampled call wiring.
Main entry points: apis/index.js Route registry · App.vue App navigation · server/index.js HTTP server · SingleTrackPage.vue Track resolver UI
Components 30
User interface
- App navigation
src/App.vue - Track resolver UI
src/pages/SingleTrackPage.vue - Playlist browser
src/pages/MyPlaylistsPage.vue - Recommendations
src/pages/RecommendPage.vue - Account view
src/pages/AccountInfoPage.vue - Login dialog
src/components/LoginModal.vue - Resource details
src/components/ResourceDetailModal.vue - Batch download UI
src/components/PlaylistBatchDownloadModal.vue - Local auth state
src/utils/authStorage.js
Frontend API
- Auth client
src/api/auth.js - Track client
src/api/tracks.js - Video client
src/api/videos.js - Playlist client
src/api/playlists.js - Recommend client
src/api/recommend.js - Share client
src/api/share.js
Express API
- HTTP server
server/index.js - Route registry
server/apis/index.js - Authentication routes
server/apis/auth-qrcode.js - Track routes
server/apis/track-v2.js - Video routes
server/apis/video-v2.js - Playlist routes
server/apis/playlist-detail.js - Batch download routes
server/apis/playlist-batch-download.js - Recommendation routes
server/apis/recommend-song-tab.js - Share resolution
server/apis/share-resolve.js
Media processing
- Media downloads
server/utils/track-download.js - Video audio extraction
server/utils/video-audio-extractor.js - Batch progress state
server/utils/batch-progress-store.js
Other components
- User
- Soda Music service
- Browser storage
Connections 41
- User → App navigation: navigates
- App navigation → Track resolver UI: shows page
- App navigation → Playlist browser: shows page
- App navigation → Recommendations: shows page
- App navigation → Account view: shows page
- App navigation → Login dialog: opens login
- App navigation → Local auth state: reads and writes
- Local auth state → Browser storage: persists auth
- Track resolver UI → Resource details: shows details
- Playlist browser → Batch download UI: starts batch
- Login dialog → Auth client: requests login
- Track resolver UI → Share client: resolves share
- Track resolver UI → Track client: requests track
- Track resolver UI → Video client: requests video
- Playlist browser → Playlist client: loads playlists
- Recommendations → Recommend client: loads recommendations
- Auth client → HTTP server: HTTP requests
- Track client → HTTP server: HTTP requests
- Video client → HTTP server: HTTP requests
- Playlist client → HTTP server: HTTP requests
- Recommend client → HTTP server: HTTP requests
- Share client → HTTP server: HTTP requests
- HTTP server → Route registry: loads routes
- Route registry → Authentication routes: registers
- Route registry → Track routes: registers
- Route registry → Video routes: registers
- Route registry → Playlist routes: registers
- Route registry → Batch download routes: registers
- Route registry → Recommendation routes: registers
- Route registry → Share resolution: registers
- Authentication routes → Soda Music service: authenticates
- Track routes → Soda Music service: fetches metadata
- Video routes → Soda Music service: fetches metadata
- Playlist routes → Soda Music service: fetches playlist
- Recommendation routes → Soda Music service: fetches recommendations
- Share resolution → Soda Music service: resolves share
- Track routes → Media downloads: downloads track
- Video routes → Video audio extraction: extracts audio
- Batch download routes → Batch progress state: tracks progress
- Batch download routes → Media downloads: downloads media
- Batch download routes → Video audio extraction: converts video