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>
28 lines
869 B
Markdown
28 lines
869 B
Markdown
# 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 debouncing
|
|
- `SearchPage` - Adaptive UI (desktop/mobile)
|
|
- `SearchTrackCard`, `SearchArtistCard`, `SearchAlbumCard` - Result cards
|
|
- `CachedNetworkImageWithFallback` - 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.dart`
|
|
- `test/presentation/pages/search/search_page_test.dart`
|