Skip to content

chintan992/letsstream-flutter-v2

Repository files navigation

🎬 Let's Stream

Release Version License

Let's Stream is a modern, feature-rich media streaming application built with Flutter, featuring a complete Netflix-inspired UI redesign. It allows users to explore, search, and stream movies, TV shows, and anime with a premium cinematic experience, native Android Picture-in-Picture support, and enterprise-grade automated release workflows.

✨ Key Features

πŸŽ₯ Streaming & Video

  • Native Picture-in-Picture (PIP): True Android system PIP support with smart overlay controls
  • PIP UI Management: Overlay controls automatically hidden in PIP mode, restored in fullscreen
  • Multi-Source Streaming: Switch between 20+ video sources for reliable playback
  • In-App Video Player: Secure, iframe-based video player with comprehensive controls
  • Seamless PIP Experience: YouTube-like PIP with automatic UI adjustments

🎨 Netflix-Style UI

  • Cinematic Design: Complete Netflix-inspired UI with dark theme (#141414), red accents (#E50914), and Bebas Neue typography
  • Material 3 + Cinematic Navigation: 72dp hybrid bottom nav with red glow, pill-shaped indicators, and animated icons
  • Immersive Hero Banners: Full-bleed featured content with gradient overlays and action buttons
  • Category Browse: Grid layout with actual movie/TV backdrop images for each genre
  • Premium Media Cards: 2:3 poster ratio, 4px border radius, shimmer loading states

🎯 Discovery & Navigation

  • Media Discovery: Browse extensive catalogs of movies, TV shows, and anime
  • Dynamic Home Screen: Interactive carousels for trending, now playing, and airing content
  • Hub/Categories: Movies, TV Shows, and Browse tabs with personalized recommendations
  • Advanced Search: Debounced, paginated search with 3-column poster grid and category browse
  • Detailed Views: Netflix-style detail screens with 60% hero banners, cast, similar titles, and episode guides
  • My List: Grid-based watchlist with edit mode for managing saved content

πŸš€ Performance & UX

  • Netflix Design System: Custom theme with Netflix colors, typography (Bebas Neue + Inter), and component library
  • Modern UI/UX: Material Design 3 with Netflix styling, smooth animations and shimmer loading
  • Offline Support: Intelligent caching with Hive for offline browsing
  • Accessibility: Screen reader support, dynamic text scaling, and touch target optimization
  • Performance Optimized: Image optimization with WebP/AVIF, lazy loading, and prefetching

βš™οΈ Development & Deployment

  • Automated Releases: GitHub Actions workflows for signed APK builds
  • Multi-Architecture: ARM64, ARMv7, and x86_64 APK variants
  • Professional CI/CD: Automated versioning, tagging, and release notes generation

🎯 Current Status

The project has evolved significantly with advanced features and enterprise-grade automation:

  • βœ… Phase 1 (Completed): Core features including API integration, navigation, all major screens (Home, Movies, TV, Anime, Search, Detail), and complete UI/UX foundation
  • βœ… Phase 2 (Completed): Native Android PIP support, GitHub Actions automation, performance optimizations, accessibility features, and offline capabilities
  • βœ… Phase 3 (Completed): Complete Netflix UI redesign - all 21 screens redesigned with Netflix styling, Material 3 + Cinematic navigation, Netflix theme system (colors, typography), category browse with dynamic images
  • πŸ”„ Phase 4 (In Progress): Firebase integration for user authentication, watchlist synchronization, and advanced user preferences
  • πŸš€ Phase 5 (Future): Advanced search filters, recommendation engine, and cross-platform iOS support

πŸ› οΈ Technology Stack

Frontend & Framework

  • Framework: Flutter 3.24.3
  • Language: Dart
  • State Management: Riverpod (StateNotifier pattern)
  • Navigation: GoRouter with deep linking
  • Design: Netflix-inspired UI with Material Design 3, Netflix theme system (colors, typography)
  • Video Player: InAppWebView with native PIP support

Backend & APIs

  • Media Database: The Movie Database (TMDB) API
  • Video Sources: Custom multi-source streaming API
  • HTTP Client: Dio with interceptors and retry logic
  • Authentication: Firebase (planned integration)

Performance & Storage

  • Local Storage: Hive for offline caching
  • Image Optimization: WebP/AVIF support with progressive loading
  • State Persistence: Riverpod with auto-dispose
  • Connectivity: Network-aware image loading and caching

Development & Deployment

  • CI/CD: GitHub Actions workflows
  • Code Generation: build_runner for model generation
  • Testing: Flutter test framework
  • Signing: Android keystore with secure GitHub secrets
  • Distribution: Multi-architecture APK builds (ARM64, ARMv7, x86_64)

πŸ“± Download & Installation

Latest Release

Download the latest version from the Releases page:

  • ARM64 (arm64-v8a.apk): For most modern Android devices (recommended)
  • ARMv7 (armeabi-v7a.apk): For older Android devices
  • x86_64 (x86_64.apk): For Android emulators and x86 devices

System Requirements

  • Android: 5.0 (API 21) or higher
  • Target SDK: Android 14 (API 34)
  • RAM: 2GB+ recommended
  • Storage: 50MB for app + cache space

Installation

  1. Download the appropriate APK for your device
  2. Enable "Install from unknown sources" in Android settings
  3. Install the APK file
  4. Grant necessary permissions when prompted

πŸš€ Getting Started (Developers)

Prerequisites

  • Flutter 3.24.3 or higher
  • Dart SDK 3.5.0 or higher
  • Android Studio with Android SDK
  • Git for version control

Setup

# Clone the repository
git clone https://github.com/chintan992/letsstream-flutter-v2.git
cd letsstream-flutter-v2

# Install dependencies
flutter pub get

# Run code generation
dart run build_runner build --delete-conflicting-outputs

# Run the app
flutter run

Build Release APK

# Build signed release APK (requires keystore setup)
flutter build apk --release --split-per-abi

# Build debug APK
flutter build apk --debug

πŸ”§ Configuration

API Keys

The app uses TMDB API for movie/TV data. You may need to configure API keys in the appropriate service files.

Video Sources

Video streaming sources are configured through the custom API. The app supports 20+ different streaming providers for reliable playback.

🀝 Contributing

Contributions are welcome! Please read our contributing guidelines and submit pull requests for any improvements.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Release Process

The project uses automated GitHub Actions workflows:

# Trigger automated release
git commit -m "Release: Add new features and improvements"
git push

πŸ“„ License

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

🌟 Acknowledgments

  • TMDB for providing comprehensive movie and TV show metadata
  • Flutter Team for the amazing cross-platform framework
  • Riverpod for elegant state management
  • Community for feedback and contributions

Built with ❀️ using Flutter

πŸ“± Download β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature

About

**Let's Stream** is a modern Flutter-based media discovery application for movies, TV shows, and anime. It integrates with The Movie Database (TMDB) API and uses Firebase (planned) for user authentication and data storage.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages