Tugas 9: Integrasi Web Service pada Flutter
Pemrograman Berbasis Platform (CSGE602022) - diselenggarakan oleh Fakultas Ilmu Komputer, Universitas Indonesia, Semester Ganjil 2022/2023
Deskripsi Tugas
Pada tugas ini, kamu akan mengintegrasikan mywatchlist yang sudah kamu buat pada tugas 3 sebelumnya ke Flutter. Pengerjaan tugas ini akan menggunakan app yang sama dengan tugas Flutter sebelumnya.
Checklist untuk tugas ini adalah sebagai berikut.
Menambahkan tombol navigasi pada drawer/hamburger untuk ke halaman mywatchlist.
Membuat satu file dart yang berisi model mywatchlist.
Menambahkan halaman mywatchlist yang berisi semua watch list yang ada pada endpoint JSON di Django yang telah kamu deploy ke Heroku sebelumnya (Tugas 3). Pada bagian ini, kamu cukup menampilkan judul dari setiap mywatchlist yang ada.
Membuat navigasi dari setiap judul watch list ke halaman detail
Menambahkan halaman detail untuk setiap mywatchlist yang ada pada daftar tersebut. Halaman ini menampilkan judul, release date, rating, review, dan status (sudah ditonton/belum).
Menambahkan tombol untuk kembali ke daftar mywatchlist
Menjawab beberapa pertanyaan berikut pada
README.md
pada root folder (silakan modifikasiREADME.md
yang telah kamu buat sebelumnya; tambahkan subjudul untuk setiap tugas).- Apakah bisa kita melakukan pengambilan data JSON tanpa membuat model terlebih dahulu? Jika iya, apakah hal tersebut lebih baik daripada membuat model sebelum melakukan pengambilan data JSON?
- Sebutkan widget apa saja yang kamu pakai di proyek kali ini dan jelaskan fungsinya.
- Jelaskan mekanisme pengambilan data dari json hingga dapat ditampilkan pada Flutter.
- Jelaskan bagaimana cara kamu mengimplementasikan checklist di atas.
Melakukan
add
-commit
-push
ke GitHub.
Tenggat Waktu Pengerjaan
Tenggat waktu pengerjaan Tugas 9:
24 November 2022 05.00.00 UTC (0 days 0 hours 0 minutes 0 seconds left)
Asisten dosen akan mengecek last commit dari repositori tugas lab, sehingga kamu tidak perlu mengumpulkan tautan repositori ke dalam slot submisi.
Bonus
Kamu akan mendapatkan nilai bonus pada penilaian tugas ini apabila kamu membuat fitur berikut.
- Menambahkan checkbox pada setiap watchlist pada halaman mywatchlist. Dimana checkbox akan tercentang jika status ditonton bernilai
true
dan tidak jika bernilaifalse
.- Jika checkbox ditekan, maka status ditonton akan berubah (perubahan akan terjadi di lokal secara sementara saja, status pada endpoint tidak perlu diubah)
- Menambahkan warna untuk outline pada setiap mywatchlist pada halaman mywatchlist berdasarkan status ditonton (Dua warna yang dipilih bebas).
- Refactor function fetch data dari web service ke sebuah file terpisah.