Tugas 3: Pengimplementasian Data Delivery Menggunakan Django
Pemrograman Berbasis Platform (CSGE602022) - diselenggarakan oleh Fakultas Ilmu Komputer Universitas Indonesia, Semester Ganjil 2022/2023
Deskripsi Tugas
Pada tugas ini, kamu akan mengimplementasikan konsep data delivery serta beberapa hal yang sudah kamu pelajari selama tutorial lab.
Checklist untuk tugas ini adalah sebagai berikut:
- Membuat suatu aplikasi baru bernama
mywatchlist
di proyek Django Tugas 2 pekan lalu - Menambahkan path
mywatchlist
sehingga pengguna dapat mengakses http://localhost:8000/mywatchlist - Membuat sebuah model
MyWatchList
yang memiliki atribut sebagai berikut:-
watched
untuk mendeskripsikan film tersebut sudah ditonton atau belum -
title
untuk mendeskripsikan judul film -
rating
untuk mendeskripsikan rating film dalam rentang 1 sampai dengan 5 -
release_date
untuk mendeskripsikan kapan film dirilis -
review
untuk mendeskripsikan review untuk film tersebut
-
- Menambahkan minimal 10 data untuk objek
MyWatchList
yang sudah dibuat di atas - Mengimplementasikan sebuah fitur untuk menyajikan data yang telah dibuat sebelumnya dalam tiga format:
- HTML
- XML
- JSON
- Membuat routing sehingga data di atas dapat diakses melalui URL:
- http://localhost:8000/mywatchlist/html untuk mengakses
mywatchlist
dalam format HTML - http://localhost:8000/mywatchlist/xml untuk mengakses
mywatchlist
dalam format XML - http://localhost:8000/mywatchlist/json untuk mengakses
mywatchlist
dalam format JSON
- http://localhost:8000/mywatchlist/html untuk mengakses
- Melakukan deployment ke Heroku terhadap aplikasi yang sudah kamu buat sehingga nantinya dapat diakses oleh teman-temanmu melalui Internet.
- Membuat sebuah
README.md
yang berisi tautan menuju aplikasi Heroku yang sudah kamu deploy serta jawaban dari beberapa pertanyaan berikut:- Jelaskan perbedaan antara JSON, XML, dan HTML!
- Jelaskan mengapa kita memerlukan data delivery dalam pengimplementasian sebuah platform?
- Jelaskan bagaimana cara kamu mengimplementasikan checklist di atas.
- Mengakses tiga URL di poin 6 menggunakan Postman, menangkap screenshot, dan menambahkannya ke dalam
README.md
- Menambahkan unit test pada
tests.py
untuk menguji bahwa tiga URL di poin 6 dapat mengembalikan responHTTP 200 OK
Perhatikan bahwa kamu harus mengerjakan tugas ini menggunakan repositori berbeda dengan tutorial, namun kamu dapat menggunakan proyek Django tugas 2 pekan lalu untuk menyelesaikan tugas ini.
Tenggat Waktu Pengerjaan
Tugas ini memiliki tenggat waktu pengumpulan pada tanggal 22 September 2022 pada pukul 12.00. 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 yang menampilkan pesan dengan aturan sebagai berikut:
- Jika jumlah film yang sudah ditonton lebih banyak atau sama dengan jumlah film yang belum ditonton, tampilkan pesan "Selamat, kamu sudah banyak menonton!" dalam bentuk HTML
- Jika jumlah film yang belum ditonton lebih banyak dari jumlah film yang sudah ditonton, tampilkan pesan "Wah, kamu masih sedikit menonton!" dalam bentuk HTML