• Home

  • Projects

  • Home
  • Projects
Listyo Adi Pamungkas - 2025 - All rights reserved
SitemapRSS Feed

    nerumusic

    nerumusic

    A modern, feature-rich music streaming application built with Flutter, featuring advanced audio controls, offline capabilities, and a sleek dark-themed interface.
    Created at 8/19/2025 โ€ข 6 min read
    Repository
    Tags: Share:

    ๐ŸŽต Neru Music

    A modern, feature-rich music streaming application built with Flutter, featuring advanced audio controls, offline capabilities, and a sleek dark-themed interface.
    Flutter
    Preview
    Flutter

    Dart
    Preview
    Dart

    License
    Preview
    License

    Platform
    Preview
    Platform

    #โœจ Features

    ##๐ŸŽ›๏ธ Advanced Audio Controls

    • 10-Band Equalizer with professional presets (Rock, Pop, Jazz, Classical, etc.)
    • Audio Effects: Bass boost, virtualizer, loudness enhancer, pre-amplifier
    • Sleep Timer with customizable fade-out and smart pause options
    • Crossfade System with multiple curve types for seamless track transitions

    ##๐ŸŽต Music Streaming & Management

    • Multi-API Integration: YouTube Music, Spotify, SoundCloud, Free Music Archive
    • Smart Search: Cross-platform music discovery with intelligent results
    • Playlist Management: Create, edit, and organize your music collections
    • Queue Management: Advanced playback queue with shuffle and repeat modes

    ##๐Ÿ“ฑ Offline Capabilities

    • Download Manager: Queue-based downloads with progress tracking
    • Storage Optimization: Smart cache management and storage monitoring
    • Offline Playback: Full offline music experience with metadata

    ##๐ŸŽจ Modern User Interface

    • Dark Theme: Sleek, modern interface with purple/pink accents
    • Responsive Design: Optimized for phones, tablets, and desktop
    • Custom Animations: Smooth 300ms transitions and interactive elements
    • Adaptive Layouts: Dynamic UI that adapts to screen size and orientation

    ##โš™๏ธ Advanced Features

    • User Preferences: Comprehensive settings for audio, downloads, and privacy
    • Performance Optimization: Memory management, caching, and background processing
    • Analytics & Crash Reporting: Privacy-conscious data collection and error handling
    • Background Playback: Continuous music playback with audio session management

    #๐Ÿ—๏ธ Architecture

    Built following Clean Architecture principles with strict separation of concerns:
    lib/ โ”œโ”€โ”€ core/ # Core utilities and configurations โ”‚ โ”œโ”€โ”€ constants/ # App-wide constants and API endpoints โ”‚ โ”œโ”€โ”€ errors/ # Error handling and custom exceptions โ”‚ โ”œโ”€โ”€ network/ # Network services and HTTP client โ”‚ โ”œโ”€โ”€ themes/ # App theming and color schemes โ”‚ โ”œโ”€โ”€ services/ # Analytics and shared services โ”‚ โ”œโ”€โ”€ utils/ # Utilities and performance optimizers โ”‚ โ””โ”€โ”€ animations/ # Custom animations and transitions โ”œโ”€โ”€ data/ # Data layer implementation โ”‚ โ”œโ”€โ”€ datasources/ # API integrations and remote data sources โ”‚ โ”œโ”€โ”€ models/ # Data models and serialization โ”‚ โ””โ”€โ”€ repositories/ # Repository implementations โ”œโ”€โ”€ domain/ # Business logic layer โ”‚ โ”œโ”€โ”€ entities/ # Core business entities โ”‚ โ”œโ”€โ”€ repositories/ # Repository interfaces โ”‚ โ””โ”€โ”€ usecases/ # Business use cases โ”œโ”€โ”€ presentation/ # UI and state management โ”‚ โ”œโ”€โ”€ screens/ # App screens and pages โ”‚ โ”œโ”€โ”€ widgets/ # Reusable UI components โ”‚ โ”œโ”€โ”€ controllers/ # Riverpod state controllers โ”‚ โ””โ”€โ”€ navigation/ # App routing and navigation โ””โ”€โ”€ main.dart # App entry point

    #๐Ÿš€ Getting Started

    ##Prerequisites

    • Flutter SDK: 3.32.7 or higher
    • Dart: 3.5 or higher
    • iOS: Xcode 16.4+ (for iOS development)
    • Android: Android Studio with SDK 36+
    • CocoaPods: For iOS dependencies

    ##Installation

    1. Clone the repository
      git clone https://github.com/nerufuyo/nerumusic.git
      cd nerumusic
      
    2. Install dependencies
      flutter pub get
      
    3. iOS Setup (iOS development only)
      cd ios
      pod install
      cd ..
      
    4. Environment Configuration
      Create a .env file in the root directory:
      # API Keys (Optional - Demo data available)
      YOUTUBE_MUSIC_API_KEY=your_youtube_music_key
      SPOTIFY_CLIENT_ID=your_spotify_client_id
      SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
      SOUNDCLOUD_CLIENT_ID=your_soundcloud_client_id
      
      # App Configuration
      APP_NAME=Neru Music
      API_BASE_URL=https://api.nerumusic.com
      
    5. Run the application
      # iOS Simulator
      flutter run -d "iPhone 15 Pro"
      
      # Android Emulator
      flutter run -d android
      
      # Web Browser
      flutter run -d chrome
      
      # Desktop
      flutter run -d macos    # macOS
      flutter run -d windows  # Windows
      flutter run -d linux    # Linux
      

    #๐Ÿ› ๏ธ Tech Stack

    ##Core Technologies

    • Flutter: Cross-platform UI framework
    • Dart: Programming language
    • Riverpod: State management and dependency injection

    ##Audio & Media

    • just_audio: Audio playback engine
    • audio_service: Background audio support
    • audio_session: Audio session management

    ##Data & Storage

    • shared_preferences: Local preferences storage
    • path_provider: File system access
    • http: HTTP client for API requests

    ##UI & Navigation

    • go_router: Declarative routing
    • flutter_animate: Animation utilities

    ##Development Tools

    • flutter_lints: Dart/Flutter linting
    • build_runner: Code generation
    • freezed: Immutable data classes

    #๐Ÿ“ฑ Platform Support

    PlatformStatusFeatures
    iOSโœ… Full SupportBackground playback, equalizer, offline downloads
    Androidโœ… Full SupportBackground playback, equalizer, offline downloads
    Webโœ… Full SupportStreaming, playlists, responsive design
    macOSโœ… Full SupportDesktop-optimized UI, keyboard shortcuts
    Windowsโš ๏ธ BetaBasic functionality, ongoing optimization
    Linuxโš ๏ธ BetaBasic functionality, ongoing optimization

    #๐ŸŽฏ Performance

    ##Benchmarks

    • App Startup: < 3 seconds
    • Memory Usage: < 150MB RAM
    • Audio Latency: < 50ms
    • Search Response: < 500ms
    • UI Framerate: 60fps consistent

    ##Optimizations

    • Lazy Loading: Components load on-demand
    • Image Caching: LRU cache with automatic cleanup
    • Background Processing: Heavy operations in isolates
    • Memory Management: Smart cache eviction and garbage collection

    #๐Ÿงช Testing

    Run the test suite:
    # Unit tests
    flutter test
    
    # Integration tests
    flutter test integration_test/
    
    # Test coverage
    flutter test --coverage
    genhtml coverage/lcov.info -o coverage/html
    
    Current Coverage: 85%+ across all modules

    #๐Ÿ”ง Development

    ##Code Quality Standards

    • DRY Principle: No code duplication beyond 3 lines
    • KISS Principle: Maximum function complexity of 10 lines
    • Clean Architecture: Strict separation of concerns
    • Widget Reusability: 80%+ reuse across screens

    ##Git Workflow

    # Commit format
    git commit -m "feat: Add equalizer presets for enhanced audio experience"
    git commit -m "fix: Resolve audio playback issue on Android devices"
    git commit -m "refactor: Extract reusable card component"
    

    ##Build & Release

    # Android APK
    flutter build apk --release
    
    # Android App Bundle
    flutter build appbundle --release
    
    # iOS Archive
    flutter build ipa --release
    
    # Web
    flutter build web --release
    
    # Desktop
    flutter build macos --release
    flutter build windows --release
    flutter build linux --release
    

    #๐Ÿ“Š Analytics & Privacy

    • Privacy-First: All analytics are optional and user-controlled
    • Crash Reporting: Automatic error detection with user consent
    • Usage Analytics: Anonymous usage patterns to improve UX
    • Data Protection: No personal data stored without explicit consent

    #๐Ÿค Contributing

    We welcome contributions! Please see our Project Plan for detailed development guidelines.

    ##Development Setup

    1. Fork the repository
    2. Create a feature branch: git checkout -b feature/amazing-feature
    3. Follow our coding standards and commit conventions
    4. Ensure tests pass and coverage is maintained
    5. Submit a pull request with detailed description

    #๐Ÿ“„ License

    This project is licensed under the MIT License - see the LICENSE file for details.

    #๐Ÿ™ Acknowledgments

    • Flutter Team for the amazing framework
    • Riverpod Community for excellent state management
    • Audio Plugin Authors for robust audio solutions
    • Open Source Music APIs for enabling music discovery
    • Design Inspiration from modern music streaming platforms

    #๐Ÿ“ž Support

    • Issues: GitHub Issues
    • Discussions: GitHub Discussions
    • Documentation: Project Plan
    Built with โค๏ธ using Flutter
    โญ Star this repo if you find it helpful!
    Previous

    kantongku

    Next

    nerushort