A beautifully crafted, offline music player built with Flutter that delivers a seamless listening experience. Enjoy your music with playlists, favorites, voice search, and moreβall without internet.
- π΅ Local Playback - Play music files directly from your device
- π± Intuitive UI - Beautiful, user-friendly interface
- π Voice Search - Find songs using voice commands
- β€οΈ Favorites - Save and organize your favorite tracks
- π Playlists - Create and manage custom playlists
- π Multi-Language - English & Persian support
- π¨ Dark Mode - Easy on the eyes with custom theming
- π Background Playback - Keep listening while using other apps
- π Audio Visualization - Watch dynamic waveform animations
- β±οΈ Sleep Timer - Auto-stop after a set time
- π Repeat & Shuffle - Control playback modes
- π€ Share - Share your favorite songs instantly
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Flutter (3.8.1+) - Cross-platform mobile development
- Dart - Programming language
- flutter_bloc - BLoC pattern for state management
- get_it - Service locator and dependency injection
- equatable - Value equality for objects
- just_audio - Audio playback engine
- audio_service - Background audio handling
- audio_session - Session management
- on_audio_query_pluse - Device audio file queries
- wave_player - Waveform visualization
- volume_controller - Volume control
- font_awesome_flutter - Icon library
- auto_size_text - Responsive text scaling
- marquee - Text animations
- scrollable_positioned_list - Advanced scrolling
- duration_picker - Time selection widget
- speech_to_text - Voice search
- permission_handler - Runtime permissions
- shared_preferences - Local storage
- sentry_flutter - Error tracking
lib/
βββ core/ # Shared logic and resources
β βββ commands/ # Command pattern
β βββ constants/ # Global constants
β βββ data/ # Core data layer
β βββ domain/ # Business logic
β βββ errors/ # Error handling
β βββ services/ # Core services
β βββ theme/ # Theming
β βββ utils/ # Helpers
β βββ widgets/ # Reusable widgets
βββ features/ # Feature modules
β βββ favorite/ # Favorites management
β βββ home/ # Home screen
β βββ music_player/ # Player screen
β βββ playlist/ # Playlist management
β βββ search/ # Search functionality
β βββ settings/ # App settings
β βββ songs/ # Music library
βββ injection/ # Dependency setup
βββ localization/ # Translations
βββ main.dart # Entry point
This project implements Clean Architecture with BLoC pattern:
| Layer | Purpose |
|---|---|
| Presentation | UI & BLoC state management |
| Domain | Business logic & use cases |
| Data | Repositories & data sources |
Key Patterns: BLoC, Repository, Dependency Injection, Command Pattern
- Flutter 3.32.8+
- Dart 3.8.1+
- Android Studio / Xcode
- Physical device or emulator
-
Clone the repository
git clone https://github.com/Novan-ORG/music_player.git cd music_player -
Install dependencies
flutter pub get
-
Configure environment
# Create .env file echo "SENTRY_DSN=your_dsn_here" > .env
-
Run the app
flutter run
# Android APK
flutter build apk --release
# Android App Bundle
flutter build appbundle --release
# iOS (Coming Soon)
# flutter build ios --releaseNote: Currently optimized for Android. iOS support coming soon.
- Storage - Read audio files
- Microphone - Voice search (optional)
| Platform | Download |
|---|---|
| GitHub Releases | |
| CafeBazar | |
| Myket |
APK Architectures (from GitHub Releases):
| Architecture | Download |
|---|---|
| ARM64 (arm64-v8a) | |
| ARMv7 (armeabi-v7a) | |
| x86 | |
| x86_64 | |
| Universal |
All APKs are available in the Releases page.
# Run analysis
flutter analyze
# Run tests
flutter testWe welcome contributions! Follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/YourFeature - Commit changes:
git commit -m 'Add YourFeature' - Push to branch:
git push origin feature/YourFeature - Open a Pull Request
For detailed contribution guidelines, see CONTRIBUTING.md.
Licensed under the MIT License - see LICENSE for details.
Taleb Rafiepour - GitHub
Contributors:
- @elhamebrahimpour
- @carozamani - UI/UX Design
- Flutter team for the excellent framework
- All open-source package maintainers
Found an issue? Open a GitHub issue
Made with β€οΈ by NOVAN team using Flutter







