|
| 1 | +# Dicoding Academy - Belajar Android Jetpack Pro |
| 2 | + |
| 3 | +Pengembangan aplikasi "Movie Catalog" berdasarkan modul "Dicoding Academy - Belajar Android Jetpack Pro". |
| 4 | + |
| 5 | +## Disclaimer |
| 6 | +``` |
| 7 | +Repository ini hanya ditujukan untuk sebagai progress pengembangan aplikasi di setiap submissionnya, mengikuti standar |
| 8 | +materi yang telah diberikan oleh Dicoding Academy. Repository ini tidak ada berisi materi pengajaran ataupun informasi |
| 9 | +"How-To" dari Dicoding Academy atau dari manapun, hanya berisi ketentuan atau acuan apa saja yang harus dilakukan untuk |
| 10 | +menempuh syarat untuk pengajuan submission yang telah ditentukan oleh pihak Dicoding. |
| 11 | +``` |
| 12 | + |
| 13 | +## Branch Information |
| 14 | +Setiap branch berisi nama submission dengan commit historynya masing - masing, dan merupakan folder androidstudioproject |
| 15 | +dimana dapat digunakan untuk rebuild ataupun modifikasi project secara langsung dengan IDE yang compatible. |
| 16 | + |
| 17 | +## Submission 1 [Architecture Component] |
| 18 | + |
| 19 | +Pada submission 1 membuat aplikasi "Movie Catalog" dengan beberapa kriteria sebagai berikut: |
| 20 | + |
| 21 | +- Menerapkan komponen ViewModel |
| 22 | +- Menerapkan Unit dan Instrumentation Test pada ViewModel (Espresso & Mockito) |
| 23 | + |
| 24 | +NOTE: Data yang diambil merupakan data statik array dengan resources dari data The Movie DB |
| 25 | +- [Resources](https://github.com/Nicklas373/DicodingBAJP-Asset) |
| 26 | + |
| 27 | +## Submission 2 [Repository dan LiveData] |
| 28 | + |
| 29 | +Pada submission 2 membuat aplikasi "Movie Catalog" dengan beberapa kriteria sebagai berikut: |
| 30 | +(Navigation dan API) |
| 31 | + |
| 32 | +- Menggunakan Repository pattern di dalam sebuah aplikasi (Repository dan Injection dalam Proyek Academy). |
| 33 | +- Menerapkan Unit testing pada kelas Repository (Pengujian Repository dan Injection dalam Proyek Academy). |
| 34 | +- Menggunakan LiveData di dalam project aplikasi (LiveData dalam Proyek Academy). |
| 35 | +- Menerapkan Unit testing pada ViewModel dan LiveData (Pengujian LiveData dalam Proyek Academy). |
| 36 | +- Menerapkan Idling Resouces untuk menangani asynchronus proses saat Instrumental Testing (Pengujian dengan Idling Resource dalam Proyek Academy). |
| 37 | + |
| 38 | +NOTE: Data yang diambil merupakan data yang di generate dari TheMovieDB REST API |
| 39 | + |
| 40 | +## Submission 3 |
| 41 | + |
| 42 | +Pada submission 3 membuat aplikasi "Movie Catalog" dengan beberapa kriteria sebagai berikut: |
| 43 | + |
| 44 | +- Menerapkan Room untuk transaksi database dengan cara yang sederhana (Room dalam Proyek Academy) |
| 45 | +- Menerapkan Pagination untuk memetakkan data yang akan ditampilkan pada aplikasi (Pagination dalam Proyek Academy) |
| 46 | + |
| 47 | +NOTE: Data yang diambil merupakan data yang di generate dari TheMovieDB REST API |
| 48 | + |
| 49 | +## Application Information |
| 50 | +Aplikasi Movie Catalog merupakan suatu aplikasi yang digunakan untuk menampilkan 10 data list movie dan tv show yang telah |
| 51 | +di generate secara manual dari fitur list profile pada website TheMovieDB dan menggunakan TheMovieDB REST API untuk menampilkan |
| 52 | +data movie dan tv show beserta beberapa data relasi lainnya. Aplikasi ini menerapkan beberapa konsep yang telah diberikan oleh modul Dicoding |
| 53 | +Academy "Belajar Android Jetpack Pro" |
| 54 | + |
| 55 | +Aplikasi ini memiliki beberapa fitur sebagai berikut: |
| 56 | +- Fitur Movie & Tv Show List |
| 57 | + Menampilkan 5 data movie dan tv show yang dapat di urutkan berdasarkan nama dengan metode ascending dan descending, |
| 58 | + data yang ditampilkan adalah foto cover, judul, tanggal rilis, jumlah season dan episode dan rating dari movie dan tv show. |
| 59 | +- Fitur Detail Movie & Tv Show |
| 60 | + Menampilkan informasi movie dan tv show dengan data yang ditampilkan adalah foto cover, judul, tanggal rilis, jumlah season dan episode, rating, |
| 61 | + revenue dan beberapa detail yang identik (termasuk interface menampilkan daftar perusahaan produksi dan genre dari movie dan tv show |
| 62 | + yang dipilih untuk dilihat informasinya) |
| 63 | +- Fitur Favorit Movies dan Tv Show |
| 64 | + Menampilkan daftar Movies dan Tv Show yang difavoritkan dan menyimpan data Movies dan TvShow kedalam database dengan memanfaatkan DAO Room, PagedList dan Sort |
| 65 | +- Fitur Settings |
| 66 | + Menampilkan pengaturan berupa pengubah tema (Dark mode / Light mode) dan pengaturan untuk fitur splashscreen aplikasi |
| 67 | + |
| 68 | +## Application Method |
| 69 | +Berikut adalah beberapa metode yang digunakan dalam pembuatan aplikasi ini; |
| 70 | + |
| 71 | +- Idling Resource (Untuk skenario delay pada background thread API) |
| 72 | +- LiveData dan Retrofit (Untuk skenario fetch data dari API) |
| 73 | +- Paging (Untuk skenario tidak menampilkan keseluruhan data dalam adapter) |
| 74 | +- RawQuery (Untuk skenario sort data pada saat menampilkan data dari database / room) |
| 75 | +- Repository & Injection (Untuk skenario offline-online data) |
| 76 | +- Room (Untuk skenario penyimpanan data yang di fetch dari API) |
| 77 | +- Unit Testing & Instrumentation Testing (Espresso & Mockito) |
| 78 | +- ViewModel |
| 79 | + |
| 80 | +## Screenshoot: |
| 81 | +<p align="center"> |
| 82 | +<img width="240" height="500" src="https://raw.githubusercontent.com/Nicklas373/DicodingBAJP/master/Screenshoot/photo_2022-02-07_11-40-42.jpg"> |
| 83 | +<img width="240" height="500" src="https://raw.githubusercontent.com/Nicklas373/DicodingBAJP/master/Screenshoot/photo_2022-02-07_11-40-40.jpg"> |
| 84 | +<img width="240" height="500" src="https://raw.githubusercontent.com/Nicklas373/DicodingBAJP/master/Screenshoot/photo_2022-02-07_11-40-43.jpg"> |
| 85 | +</p> |
| 86 | + |
| 87 | + |
| 88 | +# HANA-CI Build Project || 2016-2022 |
0 commit comments