Skip to main content

Tugas 9: Integrasi Layanan Web Django dengan Aplikasi Flutter

Pemrograman Berbasis Platform (CSGE602022) — diselenggarakan oleh Fakultas Ilmu Komputer Universitas Indonesia, Semester Ganjil 2023/2024


Deskripsi Tugas

Pada tugas ini, kamu akan mengintegrasikan layanan Django yang sudah kamu buat pada tugas-tugas sebelumnya dengan aplikasi Flutter yang sudah kamu buat sebelumnya.

Checklist untuk tugas ini adalah sebagai berikut:

  • Memastikan deployment proyek tugas Django kamu telah berjalan dengan baik.
  • Membuat halaman login pada proyek tugas Flutter.
  • Mengintegrasikan sistem autentikasi Django dengan proyek tugas Flutter.
  • Membuat model kustom sesuai dengan proyek aplikasi Django.
  • Membuat halaman yang berisi daftar semua item yang terdapat pada endpoint JSON di Django yang telah kamu deploy.
    • Tampilkan name, amount, dan description dari masing-masing item pada halaman ini.
  • Membuat halaman detail untuk setiap item yang terdapat pada halaman daftar Item.
    • Halaman ini dapat diakses dengan menekan salah satu item pada halaman daftar Item.
    • Tampilkan seluruh atribut pada model item kamu pada halaman ini.
    • Tambahkan tombol untuk kembali ke halaman daftar item.
  • Menjawab beberapa pertanyaan berikut pada README.md pada root folder (silakan modifikasi README.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?
    • Jelaskan fungsi dari CookieRequest dan jelaskan mengapa instance CookieRequest perlu untuk dibagikan ke semua komponen di aplikasi Flutter.
    • Jelaskan mekanisme pengambilan data dari JSON hingga dapat ditampilkan pada Flutter.
    • Jelaskan mekanisme autentikasi dari input data akun pada Flutter ke Django hingga selesainya proses autentikasi oleh Django dan tampilnya menu pada Flutter.
    • Sebutkan seluruh widget yang kamu pakai pada tugas ini dan jelaskan fungsinya masing-masing.
    • Jelaskan bagaimana cara kamu mengimplementasikan checklist di atas secara step-by-step! (bukan hanya sekadar mengikuti tutorial).
  • Melakukan add-commit-push ke GitHub.

Tenggat Waktu Pengerjaan

Tenggat waktu pengerjaan Tugas 9 adalah Rabu, 22 November 2023, pukul 12.00 siang.

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-fitur berikut.

  • Mengimplementasikan fitur registrasi akun pada aplikasi Flutter.
  • Melakukan filter pada halaman daftar item dengan hanya menampilkan item yang terasosiasi dengan pengguna yang login.