{"id":15480108,"url":"https://github.com/angjelkom/flutter_netflix","last_synced_at":"2026-03-05T07:35:49.279Z","repository":{"id":135256616,"uuid":"562603477","full_name":"angjelkom/flutter_netflix","owner":"angjelkom","description":"Netflix Clone with BloC, GoRouter and TMDB.","archived":false,"fork":false,"pushed_at":"2024-05-20T16:42:39.000Z","size":566,"stargazers_count":172,"open_issues_count":4,"forks_count":45,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-05-08T21:44:32.019Z","etag":null,"topics":["bloc","dart","flutter","flutter-app","gorouter","netflix-clone","slivers","tmdb","tmdb-api"],"latest_commit_sha":null,"homepage":"","language":"Dart","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/angjelkom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2022-11-06T20:57:07.000Z","updated_at":"2025-04-11T03:52:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"886fbaab-cb6f-41e8-83d3-7469e33d612a","html_url":"https://github.com/angjelkom/flutter_netflix","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"5f325a0e8fb69abe0f9421f73ac381c70d516d61"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/angjelkom/flutter_netflix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angjelkom%2Fflutter_netflix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angjelkom%2Fflutter_netflix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angjelkom%2Fflutter_netflix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angjelkom%2Fflutter_netflix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angjelkom","download_url":"https://codeload.github.com/angjelkom/flutter_netflix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angjelkom%2Fflutter_netflix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30114316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T03:40:26.266Z","status":"ssl_error","status_checked_at":"2026-03-05T03:39:15.902Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["bloc","dart","flutter","flutter-app","gorouter","netflix-clone","slivers","tmdb","tmdb-api"],"created_at":"2024-10-02T04:40:39.309Z","updated_at":"2026-03-05T07:35:49.257Z","avatar_url":"https://github.com/angjelkom.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Netflix UI Clone in Flutter using BloC\n\n![Backdrop](https://user-images.githubusercontent.com/9529847/200143091-d3d65ea0-128d-4adc-800f-369158b11f71.png)\n\nThe Project uses BloC package to manage the state and GoRouter for navigation. It use the awesome [TMDB](https://www.themoviedb.org/) [API](https://www.themoviedb.org/documentation/api) to fetch the needed tv shows and movie data.\n\nThe main purpose of this project is to demonstrate the usage of BloC and GoRouter combined but even more to demonstrate Slivers usage in Flutter. It heavily depends on Slivers, like CustomScrollView, SliverList, GridView, SliverAppBar and even SliverPersistentHeader. It also has a BottomBarNavigation nicely implemented with GoRouter's ShellRoute. Apart from that it uses Hero Widgets in order to animate a simple small transition when moving from Home -\u003e Tv Shows and a CustomPainter to replicate the smiley faces on the profiles.\n\nIt contains various screens like Profile Selection, Home, New \u0026 Hot, Movie and Tv Show Details Page.\n\nApart from that the project implements custom App Icon and Splash Screen and on Android it uses the new Android 12 API for showing Splash screen.\n\nNOTE: This project is not a complete Netflix UI Clone but I would say it's the most \"complete\" compared to other on the internet which in their way are awesome as well!\n\n# Download\nFor those that want to have a quick look at the app you can download and install the apk on an android device or emulator from [Releases](https://github.com/angjelkom/flutter_netflix/releases/download/v1.0.0/flutter-netflix-v1.0.0.apk).\n\n# Running\n1. Get Packages\n```dart\nflutter pub get\n```\n2. Get an API key from [TMDB](https://www.themoviedb.org/documentation/api) and replace it in `lib/api/api.dart`\n```dart\nfinal apiKey = 'INSERT_YOUR_API_KEY_HERE';\n```\n3. Run App\n```dart\nflutter run --release\n```\n\n# Links\n\n[Netflix Clone in Flutter using BloC, GoRouter and TMDB - Medium](https://medium.com/@angjelkom/netflix-clone-in-flutter-using-bloc-gorouter-and-tmdb-2eeff4d22a75)\n\n[TMDB Site](https://www.themoviedb.org/)\n\n[TMDB API](https://www.themoviedb.org/documentation/api)\n\n\n# Credits\n\u003csection style=\"display:flex;justify-content:space-around;align-items:center;\"\u003e\n\u003ca href=\"https://www.themoviedb.org/\" target=\"_blank\"\u003e\u003cimg alt=\"The Movie DB\" width=\"300px\" src=\"https://www.themoviedb.org/assets/2/v4/logos/v2/blue_square_2-d537fb228cf3ded904ef09b136fe3fec72548ebc1fea3fbbd1ad9e36364db38b.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://flutter.dev/\" target=\"_blank\"\u003e\u003cimg alt=\"Flutter\" width=\"300px\" src=\"https://user-images.githubusercontent.com/9529847/200143348-055a2186-8019-43a1-8efc-39d7ffd888ba.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://netflix.com/\" target=\"_blank\"\u003e\u003cimg alt=\"Netflix\" width=\"300px\" src=\"https://user-images.githubusercontent.com/9529847/200143140-67eec42b-fada-4c48-8183-6e3cd650a674.png\" /\u003e\u003c/a\u003e\n\u003c/section\u003e\n\n# Licence\nflutter_netflix is Licenced under the [MIT Licence](https://github.com/echonox/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangjelkom%2Fflutter_netflix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangjelkom%2Fflutter_netflix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangjelkom%2Fflutter_netflix/lists"}