{"id":26382822,"url":"https://github.com/minikin/youtube","last_synced_at":"2026-04-02T01:03:11.896Z","repository":{"id":91670306,"uuid":"188244173","full_name":"minikin/youtube","owner":"minikin","description":"Desktop App for YouTube","archived":false,"fork":false,"pushed_at":"2019-08-27T08:49:07.000Z","size":78,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-10T14:27:34.313Z","etag":null,"topics":["android","cross-platform","dart","flutter","ios","macos"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/minikin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-05-23T13:53:58.000Z","updated_at":"2019-11-13T09:24:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"1e21c93a-8c44-49db-9cd6-f5fa1631efda","html_url":"https://github.com/minikin/youtube","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/minikin/youtube","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minikin%2Fyoutube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minikin%2Fyoutube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minikin%2Fyoutube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minikin%2Fyoutube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/minikin","download_url":"https://codeload.github.com/minikin/youtube/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minikin%2Fyoutube/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31293631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cross-platform","dart","flutter","ios","macos"],"created_at":"2025-03-17T06:19:12.727Z","updated_at":"2026-04-02T01:03:11.880Z","avatar_url":"https://github.com/minikin.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Youtube macOS\n\nYoutube macOS is Flutter cross-platform application for macOS, iOS and Android.\n\n## Meta\n\n**State:** development\n\n**Point People:** [Sasha Prokhorenko](mailto:djminikin@gmail.com)\n\n**CI:** _ci status_\n\n---\n\n- [Youtube macOS](#Youtube-macOS)\n  - [Meta](#Meta)\n  - [Requirements](#Requirements)\n  - [Dependencies](#Dependencies)\n  - [Installation](#Installation)\n  - [Running the project](#Running-the-project)\n  - [Development](#Development)\n    - [Project Structure](#Project-Structure)\n    - [Serialization](#Serialization)\n  - [Running Tests](#Running-Tests)\n  - [Deployment](#Deployment)\n  - [FAQ](#FAQ)\n\n## Requirements\n\n- Flutter 1.9.6+ (_the latest version on master channel_)\n- Dart 2.4.0\n- Xcode 10.0+\n- Androind Studio 3.5.0+\n- iOS 11.0+ / macOS 10.13+ / Android SDK 16+\n- Ruby 2.4+\n- Fastlane 2.115.0+\n- CocoaPods 1.7.0+\n- Flutter \u0026 Dart plugins:\n  - [Visual Studio Code](https://flutter.dev/docs/get-started/editor?tab=androidstudio)\n  - [Android Studio / IntelliJ](https://flutter.dev/docs/get-started/editor?tab=vscode)\n\n## Dependencies\n\nTo manage dependencies we use [Pub](https://pub.dartlang.org/).\n\nYou can add new dependencies to file [pubspec.yaml](https://github.com/minikin/youtube/blob/develop/pubspec.yaml)\n\n## Installation\n\n```bash\ngit clone https://github.com/minikin/youtube.git \u0026\u0026 cd youtube \u0026\u0026 flutter packages get\n```\n\n## Running the project\n\nTo run the app open the directory `youtube` in Visual Studio Code or Android Studio / IntelliJ, start simulator and run the project. If you want to run the app on a real iOS device instead of the simulator, you will need the Provisioning Profile.\n\n## Development\n\n### Project Structure\n\nIn the project folder, there are a few important files and directories :\n\n- `lib`: This is the main directory with source files.\n- `pubspec.yaml`: This file contains all the third party dependencies. Read more about [pub](https://pub.dartlang.org).\n- `analysis_options.yaml`: Configuration file for [dartfm](https://github.com/dart-lang/dart_style#readme) that has rules on code linting and style. Read [Effective Dart](https://www.dartlang.org/guides/language/effective-dart).\n- `macOS` folder: Contains Xcode project to build macOS app\n- `ios` folder: Contains Xcode project to build iOS app.\n- `android` folder: Contains Android Studio project.\n- `assets` folder: Contains assets used in the app i.e. images, fonts, html etc.\n- `test` folder: Contains the app test files and mocks.\n- `coverage` folder: Contains test coverage results.\n- `scripts` folder: Contains a few simple scripts that are used to automate things during the build process.\n\n### Serialization\n\nTo reduce amount of boilerplate code we use `built_value` and `built_collection` with `build_runner` and `built_value_generator`.\n\nIf you need to add a new model or update existing one **do not forget** to run:\n\n```bash\nflutter packages pub run build_runner build\n```\n\nOR\n\n```bash\nflutter packages pub run build_runner watch\n```\n\nRead more about `built_value` and `built_collection`:\n\n[Dart’s built_value for Immutable Object Models](https://medium.com/dartlang/darts-built-value-for-immutable-object-models-83e2497922d4)\n\n[Dart’s built_collection for Immutable Collections](https://medium.com/dartlang/darts-built-collection-for-immutable-collections-db662f705eff)\n\n[Moving Fast with Dart Immutable Values](https://medium.com/dartlang/moving-fast-with-dart-immutable-values-1e717925fafb)\n\n[Dart’s built_value for Serialization](https://medium.com/dartlang/darts-built-value-for-serialization-f5db9d0f4159)\n\n[Building a Chat App in Dart](https://medium.com/dartlang/building-a-chat-app-in-dart-815fcd0e5a31)\n\n## Running Tests\n\nTo run test:\n\n```sh\nflutter test\n```\n\nTo run and collect test coverage:\n\n```sh\nflutter test --coverage \u0026\u0026 genhtml coverage/lcov.info -o coverage/output/\n```\n\n## Deployment\n\n## FAQ\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminikin%2Fyoutube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminikin%2Fyoutube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminikin%2Fyoutube/lists"}