How coderegtech/musika-app works
Musika is a cross-platform music library app backed by an authenticated Python API. Users sign in, discover or search music, inspect track details, request permitted downloads, then save and play audio locally; they can also organize tracks into playlists. The API verifies Google identity, serves YouTube-backed discovery, and manages authorized download jobs. The README documents queue processing and admin approval. Sampled source confirms key client and server interactions; some backend wiring is unsampled, so those links are limited to documented responsibilities.
Main entry points: store.ts App state · main.py API routes · App.tsx App interface · downloads.py Download queue
Components 20
Music app
- App interface
App.tsx - Audio player
src/components/Player.tsx - UI components
src/components/ui.tsx
Client services
- App state
src/store.ts - Music models
src/models.ts - API client
src/services/api.ts - Authentication
src/services/auth.ts - Audio files
src/services/media.ts - Local storage
src/services/storage.ts - Web storage
src/services/storage.web.ts
API services
- API routes
server/main.py - Music discovery
server/youtube.py - Domain rules
server/domain.py - API database
server/database.py
Download backend
- Download queue
server/downloads.py
Other components
- Listener
- Google identity
- YouTube API
- FFmpeg
- Device audio
Connections 24
- Listener → App interface: uses
- App interface → App state: dispatches actions
- App interface → Audio player: renders
- App interface → UI components: renders
- Audio player → App state: controls playback
- App state → Music models: uses types
- App state → API client: requests
- API client → Authentication: gets credentials
- API client → API routes: calls API
- Authentication → Google identity: exchanges identity
- Authentication → API routes: authenticates
- API routes → API database: reads and writes
- API routes → Music discovery: requests metadata
- Music discovery → YouTube API: searches videos
- API routes → Domain rules: checks duplicates
- API routes → Download queue: enqueues jobs
- Download queue → API database: updates jobs
- Download queue → Music discovery: gets media
- Download queue → FFmpeg: processes audio
- App state → Audio files: saves audio
- Audio files → Device audio: writes and reads
- App state → Local storage: persists library
- App state → Web storage: persists web state
- Audio player → Device audio: plays tracks