Skip to content

FuyukiSakura/sakura-connect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Sakura Connect - Boost Your Stream

English | ๆ—ฅๆœฌ่ชž | ไธญๆ–‡

Sakura Connect Logo

A powerful streaming toolkit designed to enhance your content creation workflow

Flutter Dart License

๐ŸŒŸ Overview

Sakura Connect is a beautiful, cross-platform Flutter application that provides a modern graphical interface for yt-dlp, the popular YouTube video downloader. Built with content creators and streamers in mind, it offers professional-grade tools to download, manage, and organize your video content library.

โœจ Key Features

  • ๐ŸŽฅ Video Download: Download YouTube videos and playlists in various formats
  • ๐ŸŽต Audio Extraction: Audio-only download support for music and podcasts
  • ๐Ÿ“ Subtitle Support: Download available subtitles in multiple languages
  • โšก Queue Management: Concurrent downloads with intelligent queue system
  • ๐ŸŽจ Beautiful UI: Clean, intuitive interface with modern design
  • ๐ŸŒ Multi-language: Full internationalization support (English, Japanese, Chinese)
  • ๐Ÿ–ฅ๏ธ Cross-platform: Works on Windows, macOS, Linux, iOS, and Android
  • โš™๏ธ Quality Control: Multiple format and quality options
  • ๐Ÿ“ Smart Organization: Automatic file management and organization

๐Ÿš€ Getting Started

Prerequisites

  • Flutter SDK 3.32.0 or higher
  • Dart SDK 3.8.0 or higher
  • Platform-specific development tools (Android Studio, Xcode, etc.)

Installation

  1. Clone the repository

    git clone https://github.com/FuyukiSakura/sakura-connect.git
    cd sakura-connect
  2. Navigate to the app directory

    cd app
  3. Install dependencies

    flutter pub get
  4. Generate localization files

    flutter gen-l10n
  5. Run the application

    flutter run

๐Ÿ“ฆ Dependencies

Core Dependencies

UI & Design

File & System Integration

Internationalization

  • intl - Date/time formatting and localization utilities

Development Dependencies

๐Ÿ—๏ธ Architecture

Project Structure

app/
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ components/          # Reusable UI components
โ”‚   โ”œโ”€โ”€ l10n/               # Localization files
โ”‚   โ”œโ”€โ”€ pages/              # Application screens
โ”‚   โ”‚   โ””โ”€โ”€ downloader/     # Download-specific components
โ”‚   โ”œโ”€โ”€ providers/          # State management
โ”‚   โ”œโ”€โ”€ services/           # Business logic and API services
โ”‚   โ””โ”€โ”€ theme/              # App theming and styling
โ”œโ”€โ”€ assets/                 # Static assets (images, fonts)
โ””โ”€โ”€ platforms/              # Platform-specific configurations
    โ”œโ”€โ”€ android/
    โ”œโ”€โ”€ ios/
    โ”œโ”€โ”€ linux/
    โ”œโ”€โ”€ macos/
    โ”œโ”€โ”€ web/
    โ””โ”€โ”€ windows/

Key Services

  • YtdlpService: Core yt-dlp integration and management
  • DownloadQueueService: Queue management and concurrent downloads
  • FileManagerService: File system operations and organization
  • PreferencesService: User settings and preferences
  • EmbeddedYtdlpService: Embedded yt-dlp binary management

๐ŸŒ Internationalization

Sakura Connect supports multiple languages with full localization:

  • English (en) - Default language
  • Japanese (ja) - ๆ—ฅๆœฌ่ชžใ‚ตใƒใƒผใƒˆ
  • Chinese (zh) - ไธญๆ–‡ๆ”ฏๆŒ

Adding New Languages

  1. Create a new ARB file in app/lib/l10n/app_[locale].arb
  2. Add translations for all keys
  3. Run flutter gen-l10n to generate localization files
  4. Update the supported locales in LocaleProvider

๐ŸŽจ Theming & Design

The application features a modern, clean design with:

  • Sakura-inspired color palette with pink and purple accents
  • Responsive layout that adapts to different screen sizes
  • Material Design 3 components and principles
  • Custom typography using Google Fonts
  • Consistent spacing and visual hierarchy
  • Dark/light theme support (planned)

๐Ÿ”ง Configuration

Environment Setup

The app automatically manages yt-dlp installation and updates. No additional configuration is required for basic usage.

Custom Settings

  • Download paths and organization
  • Concurrent download limits
  • Quality preferences
  • Language selection
  • Theme preferences

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

๐Ÿ“„ License

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

๐Ÿ‘จโ€๐Ÿ’ป Developer

FuyukiSakura (ๅ†ฌ้›ชๆกœ)

๐Ÿ™ Acknowledgments

  • yt-dlp - The powerful YouTube downloader that powers this application
  • Flutter Team - For the amazing cross-platform framework
  • Community Contributors - For bug reports, feature requests, and contributions

๐Ÿ“Š Project Status

  • โœ… Core download functionality
  • โœ… Multi-language support
  • โœ… Cross-platform compatibility
  • โœ… Queue management system
  • ๐Ÿ”„ Advanced filtering options (in progress)
  • ๐Ÿ”„ Dark theme support (planned)
  • ๐Ÿ”„ Playlist management (planned)
  • ๐Ÿ”„ Download history and analytics (planned)

Built with โค๏ธ for content creators and streamers worldwide

About

Your streaming companion

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors