{"id":24039315,"url":"https://github.com/phanatagama/ditonton","last_synced_at":"2025-06-18T00:38:48.812Z","repository":{"id":111282268,"uuid":"454431874","full_name":"phanatagama/Ditonton","owner":"phanatagama","description":"🅳🅸🅲🅾🅳🅸🅽🅶 🆂🆄🅱🅼🅸🆂🆂🅸🅾🅽 🅼🅴🅽🅹🅰🅳🅸 🅵🅻🆄🆃🆃🅴🆁 🅳🅴🆅🅴🅻🅾🅿🅴🆁 🅴🆇🅿🅴🆁🆃","archived":false,"fork":false,"pushed_at":"2024-12-13T03:25:41.000Z","size":48349,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T19:24:47.042Z","etag":null,"topics":["android","bloc","cinema","cubit","dicoding-submission","firebase","movie-app"],"latest_commit_sha":null,"homepage":"https://www.dicoding.com/academies/199","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phanatagama.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"phanatagama","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-02-01T15:02:44.000Z","updated_at":"2024-12-13T03:24:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"712a70c7-1d3a-4ba0-93aa-d2ca7f75cb32","html_url":"https://github.com/phanatagama/Ditonton","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/phanatagama/Ditonton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phanatagama%2FDitonton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phanatagama%2FDitonton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phanatagama%2FDitonton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phanatagama%2FDitonton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phanatagama","download_url":"https://codeload.github.com/phanatagama/Ditonton/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phanatagama%2FDitonton/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260463949,"owners_count":23013390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","bloc","cinema","cubit","dicoding-submission","firebase","movie-app"],"created_at":"2025-01-08T20:36:52.574Z","updated_at":"2025-06-18T00:38:43.794Z","avatar_url":"https://github.com/phanatagama.png","language":"Dart","funding_links":["https://ko-fi.com/phanatagama"],"categories":[],"sub_categories":[],"readme":"![example workflow](https://github.com/phanatagama/Ditonton/actions/workflows/flutter-ci.yml/badge.svg)\n![Ditonton](https://socialify.git.ci/phanatagama/Ditonton/image?description=1\u0026descriptionEditable=Build%20with%20Dart%20Programming%20Language%20%26%20Flutter%20Framework\u0026font=Raleway\u0026forks=1\u0026issues=1\u0026language=1\u0026name=1\u0026pattern=Circuit%20Board\u0026pulls=1\u0026stargazers=1\u0026theme=Dark)\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/dart-%230175C2.svg?style=for-the-badge\u0026logo=dart\u0026logoColor=white\" /\u003e\n\u003cimg src=\"https://img.shields.io/badge/Flutter-%2302569B.svg?style=for-the-badge\u0026logo=Flutter\u0026logoColor=white\" /\u003e\n\u003cimg src=\"https://img.shields.io/badge/firebase-%23039BE5.svg?style=for-the-badge\u0026logo=firebase\" /\u003e\n\u003cimg src=\"https://img.shields.io/badge/git-%23F05033.svg?style=for-the-badge\u0026logo=git\u0026logoColor=white\" /\u003e\n\u003cimg src=\"https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge\u0026logo=github\u0026logoColor=white\" /\u003e\n\u003cimg src=\"https://img.shields.io/badge/Android%20Studio-3DDC84.svg?style=for-the-badge\u0026logo=android-studio\u0026logoColor=white\" /\u003e\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    Ditonton adalah aplikasi yang menampilkan informasi film serta serial tv\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/phanatagama/Ditonton/releases/download/v.1.0.0/app-debug.apk\"\u003eDownload App\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/phanatagama/Ditonton/issues/new\"\u003eReport Bug\u003c/a\u003e\n    ·\n  \u003ca href=\"https://github.com/phanatagama/Ditonton/issues/new\"\u003eRequest Features\u003c/a\u003e\n  \u003c/p\u003e\n\n## 💡 Background\nDalam rangka menyelesaikan submission Menjadi Flutter Developer Expert, Project ini dibangun dengan mengikuti clean architecture\ndan menyesuaikan kriteria kelulusan kelas Dicoding.\n\n## ♻️ Project Goals\nAplikasi ini dibuat dengan tujuan menyelesaikan submission @dicoding kelas Menjadi Flutter Developer Expert\n\n## 🤯 Challenges we faced\nSelama melakukan pengembangan diharuskan melakukan migrasi state management provider menjadi BloC/Cubit dan membuat beberapa testing, memastikan kode yang ditulis mengikuti konvensi yang tersedia dan menerapkan keamanan berupa SSL Pinning.\n\n## 🧐 How we built our project\nDitonton adalah aplikasi mobile yang menggunakan Flutter sebagai framework. Data yang ditampilkan diambil melalui 'api.themovidb.org/3' kemudian menggunakan sqflite sebagai penyimpanan lokal.\n\n## 🛠️ Tech Stack Used\n| Dart      | Flutter      |Firebase      | Android Studio |\n|------------|-------------|-------------|-------------|\n| \u003cimg src=\"https://avatars.githubusercontent.com/u/1609975?s=280\u0026v=4\" width=\"150\"\u003e | \u003cimg src=\"https://res.cloudinary.com/startup-grind/image/upload/c_fill,dpr_2.0,f_auto,g_center,h_500,q_auto:good,w_500/v1/gcs/platform-data-dsc/events/1_ilC2Aqp5sZd1wi0CopD1Hw_zT8WoJh.png\" width=\"150\"\u003e | \u003cimg src=\"https://miro.medium.com/v2/resize:fit:300/1*R4c8lHBHuH5qyqOtZb3h-w.png\" width=\"150\"\u003e | \u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Android_Studio_Icon_%282014-2019%29.svg/1200px-Android_Studio_Icon_%282014-2019%29.svg.png\" width=\"150\"\u003e |\n\nProject ini telah terintegrasi dengan Firebase Analytics dan Firebase Crashlytics\n\u003c!-- ### Extra Library --\u003e\n\u003c!-- - [GoogleFonts](https://pub.dev/packages/google_fonts) for Material-Design style --\u003e\n\n\n\u003c!-- ## 🔧 The problems and how we deal with it --\u003e\n\u003c!-- Tentu saja keterbatasan waktu adalah sebuah masalah bagi kami. Beberapa perencanaan harus kami tunda/hilangkan untuk mempersingkat waktu seperti pembangunan [REST API](https://github.com/MochArisandiJayanto/Flarax/blob/master/API_Design_Architecture.md) yang harus terhenti. Kami memutuskan untuk melakukan query secara langsung dengan database Firebase menggunakan future dan stream. --\u003e\n\n## 🧑‍🎓 What we learned\nMembangun project dengan modular adalah hal baru bagi saya, di beberapa bagian saya perlu menuliskan testing terlebih dahulu seperti teori TDD. Penerapan SSL Pinning pada project flutter hingga integrasi project dengan firebase analytics \u0026 crashlytics menjadi pembelajaran yang cukup menyenangkan.\n\n## 🐾 Conventional Commit\n‎Dalam proyek ini, saya berusaha untuk mengikuti [konvensi commit](https://www.conventionalcommits.org/en/v1.0.0/) sehingga pesan commit lebih bersih dan lebih mudah dibaca. Saya pikir itu luar biasa dan memudahkan saya secara praktis untuk dapat mundur ke setiap penyebaran commit.\n\n\u003c!-- ## 📘 Resource‎ --\u003e\n\u003c!-- ### Image Assets --\u003e\n\u003c!-- - [Undraw](http://undraw.co) --\u003e\n\u003c!-- - [Unsplash](http://unsplash.com) --\u003e\n\n\u003c!-- ### Related Article --\u003e\n\u003c!-- - [Barang Menumpuk Tak Terpakai? Akali Dengan 5 Trik Ini | Orami](https://www.orami.co.id/magazine/barang-menumpuk-tak-terpakai-akali-dengan-5-trik-ini/) --\u003e\n\u003c!-- - [Bagaimana cara membuang barang bekas berukuran besar, misal kasur, kulkas, mesin cuci? Kemana perabot/barang bekasmu saat kamu membeli perabot baru? - Quora](https://id.quora.com/Bagaimana-cara-membuang-barang-bekas-berukuran-besar-misal-kasur-kulkas-mesin-cuci-Kemana-perabot-barang-bekasmu-saat-kamu-membeli-perabot-baru) --\u003e\n\u003c!-- - [Bagaimana caramu membuang barang-barang yang sudah tidak terpakai lagi (misalnya pakaian bekas yang sudah tidak layak pakai)? - Quora](https://id.quora.com/Bagaimana-caramu-membuang-barang-barang-yang-sudah-tidak-terpakai-lagi-misalnya-pakaian-bekas-yang-sudah-tidak-layak-pakai) --\u003e\n\u003c!-- - [Bagaimana cara membuang sampah ukuran besar seperti kasur dan lemari secara legal? - Quora](https://bit.ly/3eoe6rK) --\u003e\n\u003c!-- - [Cara Mendapatkan Barang Gratis Dari Internet - Blog Orang IT (helmykediri.com)](https://bit.ly/3FuCeVn) --\u003e\n\u003c!-- - [Barang Gratis Bisa Kamu Dapatkan di 6 Situs Ini Lho! (lifepal.co.id)](https://lifepal.co.id/media/doyan-berburu-barang-gratisan-cek-6-situs-nih/) --\u003e\n\n ## 👁️ Preview/Screenshots \n\n| ![home-page](https://github.com/phanatagama/Ditonton/assets/48324618/dc7a644d-e93a-4705-afe1-a6651d4d4498) | ![search-page](https://github.com/phanatagama/Ditonton/assets/48324618/2de1249b-2dc9-456a-b9ca-2cafd08d59ef)  | ![detail-movie-tv](https://github.com/phanatagama/Ditonton/assets/48324618/c87a9543-61f7-4e28-ab53-859582a07e45) | ![popular-movie-tv](https://github.com/phanatagama/Ditonton/assets/48324618/bb5cb0d5-e983-4997-a42a-b8592ab3d8bc) |\n| :--: | :--: | :--: | :--: |\n| **Home Page** |  **Search Page** | **Detail Movie/TV** | **Popular Movie/TV**\n\n\u003c!-- This project is licensed under the GNU GPLv3. --\u003e\n\n\u003c!-- ## Contributors ✨ --\u003e\n\n\u003c!-- Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003c!-- \u003ctable\u003e --\u003e\n\u003c!--   \u003ctr\u003e --\u003e\n\u003c!--     \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/phanatagama\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/48324618?s=100?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCahyadi Setia Phanatagama\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/MochArisandiJayanto/Flarax/commits?author=phanatagama\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#infra-phanatagama\" title=\"Infrastructure (Databases, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e --\u003e\n\u003c!--     \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/MochArisandiJayanto\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/30518462?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMOCH. ARISANDI JAYANTO\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/MochArisandiJayanto/Flarax/commits?author=MochArisandiJayanto\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#infra-mocharisandijayanto\" title=\"Infrastructure (Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e --\u003e\n\u003c!--     \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/mrgvnn\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/81848181?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSamira Rahma Aziza\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/MochArisandiJayanto/Flarax/commits?author=mrgvnn\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#design-mrgvnn\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e --\u003e\n\u003c!--   \u003c/tr\u003e --\u003e\n\u003c!-- \u003c/table\u003e --\u003e\n\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\u003c!-- ![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg) --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphanatagama%2Fditonton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphanatagama%2Fditonton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphanatagama%2Fditonton/lists"}