Skip to content
/ HYDRA Public

**Hydra Music** is a sleek Flutter-powered music streaming app 🎢. It integrates the **YouTube Data API** to bring millions of tracks right to your device with **seamless playback, smart discovery, and a dark theme UI**. πŸš€ Available for **Android & iOS**

Notifications You must be signed in to change notification settings

gopal334/HYDRA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎡 Hydra Music App App Screenshot

Immerse in the Sound - A modern Flutter music streaming application powered by YouTube API

πŸ“± About Hydra is a sleek, modern music streaming application built with Flutter that brings the vast YouTube music library directly to your device. With its dark theme aesthetic and intuitive interface, Hydra offers a premium music experience with seamless playback and discovery features across both Android and iOS platforms. App Screenshot

✨ Features 🎧 Core Music Experience

YouTube API Integration - Access millions of songs and videos

High-Quality Streaming - Crystal clear audio playback

Advanced Player Controls - Play, pause, skip, shuffle, repeat

Real-time Progress Tracking - Visual progress bars with time indicators

Offline Downloads - Save your favorite tracks for offline listening

πŸ” Discovery & Search

Smart Search - Find any song, artist, or album instantly

Curated Categories:

πŸŽ™οΈ Podcasts

🎯 Made For You (Personalized)

πŸ“Š Charts (Trending)

πŸ†• New Releases

🎡 Discover

🎀 Concerts

πŸ‘€ User Experience

Secure Authentication - Email/password login with forgot password option

Personal Music Library - Organize playlists, albums, artists

Recently Played - Quick access to your listening history

Social Features - Follow artists and share playlists

Listening Statistics - Track your music habits and top artists

🎨 Design & Interface

Dark Theme - Easy on the eyes with sophisticated aesthetics

Red Accent Colors - Modern UI with vibrant highlights

Responsive Design - Optimized for all mobile devices

Smooth Navigation - Intuitive bottom tab navigation

Material Design - Following Flutter's design principles

πŸ› οΈ Tech Stack Framework: Flutter (Dart)

API Integration: YouTube Data API v3

Authentication: Firebase Auth

Database: Firebase Firestore

Audio Playback: just_audio / audioplayers

State Management: Provider / Riverpod / Bloc

HTTP Client: dio / http

Local Storage: shared_preferences / hive

πŸ“Έ Screenshots Login Screen Player Interface Search & Discovery Login Player Search User Profile Music Library Browse Categories Profile Library Browse App Screenshot

πŸš€ Getting Started Prerequisites

bash

  • Flutter SDK (3.0.0 or higher)
  • Dart SDK (2.17.0 or higher)
  • Android Studio / VS Code with Flutter extension
  • Xcode (for iOS development)
  • YouTube Data API Key Installation

Clone the repository

bash git clone https://github.com/yourusername/hydra-music-app.git cd hydra-music-app Install Flutter dependencies

bash flutter pub get Configure API Keys

text

Create .env file in root directory or add to pubspec.yaml

YOUTUBE_API_KEY=your_youtube_api_key_here FIREBASE_API_KEY=your_firebase_key_here Run the application

bash

Check for issues

flutter doctor

Run on connected device

flutter run

Build APK for Android

flutter build apk

Build for iOS

flutter build ios πŸ“¦ Dependencies Core Dependencies

text dependencies: flutter: sdk: flutter

UI & Navigation

cupertino_icons: ^1.0.2 material_color_generator: ^1.0.5

State Management

provider: ^6.0.3

or riverpod: ^2.0.0

Networking

dio: ^5.0.0 http: ^0.13.5

Audio

just_audio: ^0.9.30 audio_service: ^0.18.6

Firebase

firebase_core: ^2.4.0 firebase_auth: ^4.2.0 cloud_firestore: ^4.3.0

Local Storage

shared_preferences: ^2.0.15 hive: ^2.2.3

Utilities

cached_network_image: ^3.2.3 shimmer: ^2.0.0 flutter_launcher_icons: ^0.11.0 Dev Dependencies

text dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^2.0.0 build_runner: ^2.3.3 πŸ”§ YouTube API Integration This Flutter app utilizes the YouTube Data API v3 for:

πŸ” Search Functionality - Find music, videos, and playlists

πŸ“Ί Video Streaming - Direct playback of YouTube content

πŸ“Š Metadata Retrieval - Song titles, artists, thumbnails, duration

🎡 Playlist Management - Create and manage custom playlists

πŸ“ˆ Trending Content - Access popular and trending music

API Implementation Example:

dart class YouTubeService { static const String baseUrl = 'https://www.googleapis.com/youtube/v3'; static const String apiKey = 'YOUR_API_KEY';

Future<List

return (response.data['items'] as List)
    .map((item) => Video.fromJson(item))
    .toList();

} } πŸ—οΈ Project Structure text lib/ β”œβ”€β”€ main.dart # App entry point β”œβ”€β”€ app.dart # App configuration β”œβ”€β”€ core/ # Core functionality β”‚ β”œβ”€β”€ constants/ # App constants β”‚ β”œβ”€β”€ themes/ # App themes β”‚ └── utils/ # Utility functions β”œβ”€β”€ features/ # Feature-based modules β”‚ β”œβ”€β”€ auth/ # Authentication β”‚ β”œβ”€β”€ music/ # Music playback β”‚ β”œβ”€β”€ search/ # Search functionality β”‚ └── profile/ # User profile β”œβ”€β”€ models/ # Data models β”œβ”€β”€ services/ # API services β”œβ”€β”€ widgets/ # Reusable widgets └── screens/ # App screens πŸ“± Platform Support βœ… Android (API 21+)

βœ… iOS (iOS 11.0+)

πŸ”„ Web (Flutter Web Support)

πŸ”„ Desktop (Windows, macOS, Linux)

πŸ”§ Configuration Firebase Setup

Create a Firebase project

Add Android/iOS apps to your project

Download google-services.json (Android) and GoogleService-Info.plist (iOS)

Place files in respective platform folders

Environment Variables

dart // lib/core/constants/api_constants.dart class ApiConstants { static const String youtubeApiKey = 'your_youtube_data_api_key'; static const String youtubeBaseUrl = 'https://www.googleapis.com/youtube/v3'; } API Rate Limits

YouTube API: 10,000 requests per day (default)

Consider implementing caching with dio_cache_interceptor

πŸ§ͺ Testing bash

Run unit tests

flutter test

Run integration tests

flutter drive --target=test_driver/app.dart

Generate test coverage

flutter test --coverage genhtml coverage/lcov.info -o coverage/html πŸš€ Build & Release Android

bash

Generate keystore

keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

Build release APK

flutter build apk --release

Build App Bundle

flutter build appbundle --release iOS

bash

Build for iOS

flutter build ios --release

Build IPA

flutter build ipa --release 🀝 Contributing We welcome contributions! Please see our Contributing Guidelines for details.

Fork the repository

Create your feature branch (git checkout -b feature/AmazingFeature)

Commit your changes (git commit -m 'Add some AmazingFeature')

Push to the branch (git push origin feature/AmazingFeature)

Open a Pull Request

Code Style

Follow Effective Dart guidelines

Use flutter analyze to check for issues

Format code with dart format

πŸ“„ License This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”— Links App Store: Coming Soon

Google Play: Coming Soon

πŸ“ž Support πŸ“§ Email: support@sengargopal310@gmail.com

πŸ› Issues: GitHub Issues

πŸ’¬ Discussions: GitHub Discussions

πŸ“± Flutter Community: Flutter Discord

πŸ™ Acknowledgments Flutter team for the amazing cross-platform framework

YouTube Data API for providing access to the vast music library

Firebase for backend services

Flutter community for excellent packages and support

All contributors and testers who helped improve this application

Made with ❀️ and Flutter by [GOPAL]

⭐ Star this repository if you found it helpful! ⭐

Flutter Dart Firebase

## πŸ”— Links

GITHUB

INSTAGRAM

Authors

About

**Hydra Music** is a sleek Flutter-powered music streaming app 🎢. It integrates the **YouTube Data API** to bring millions of tracks right to your device with **seamless playback, smart discovery, and a dark theme UI**. πŸš€ Available for **Android & iOS**

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published