a89c7894cf
Backend: - FastAPI avec PostgreSQL et Redis - Authentification JWT complète - API REST pour musique, playlists, recherche - Streaming audio via yt-dlp - SQLAlchemy 2.0 async Frontend: - Flutter avec thème néon cyberpunk - State management Riverpod - Layout adaptatif desktop/mobile - Lecteur audio avec mini-player Infrastructure: - Docker Compose (PostgreSQL + Redis) - Scripts d'installation automatisés - Scripts de build pour exécutables Fichiers ajoutés: - BUILD_CLIENT_*.bat/sh: Scripts de compilation - BUILD_CLIENT_README.md: Documentation compilation - CHECK_FLUTTER.sh: Vérificateur d'environnement - requirements.txt mis à jour pour Python 3.13 - Modèles SQLAlchemy corrigés (metadata -> extra_metadata) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
869 B
869 B
Search Feature
Overview
Real-time search with debouncing across tracks, artists, and albums.
Usage
- Access from sidebar (desktop) or bottom nav (mobile)
- Type to search with 500ms debounce
- Results grouped by type
- Tap track to play immediately
- Tap artist/album for details (TODO)
Components
SearchProvider- State management with debouncingSearchPage- Adaptive UI (desktop/mobile)SearchTrackCard,SearchArtistCard,SearchAlbumCard- Result cardsCachedNetworkImageWithFallback- Reusable image widget
Architecture
- Uses typed entities (Track, Artist, Album) from domain layer
- Integrates with MusicApiService for backend calls
- Connects to PlayerNotifier for playback
Testing
Test stubs created at:
test/presentation/providers/search_provider_test.darttest/presentation/pages/search/search_page_test.dart