Lewati ke konten utama

Proyek Tengah Semester

Membuat Situs Web menggunakan Framework Django (Berkelompok)


Tujuan Pembelajaran Khusus

  1. Merancang Halaman Web
  2. Mengimplementasikan situs web menggunakan framework Django dengan memenuhi Models, Views, dan Template
  3. Memanfaatkan framework CSS untuk mewujudkan Responsive Web Design
  4. Mengimplementasikan Unit Test dan deployment

Aturan Umum Tugas Kelompok

  1. Satu kelompok terdiri atas 5-6 orang. Pembagian kelompok sudah dapat dilihat di SCELE.
  2. Satu kelompok membuat satu repositori Git (Git repository) yang digunakan oleh seluruh anggota kelompok untuk bekerja sama. Kumpulkan tautan repositori Git ke SCELE.
tip

Setiap kelompok disarankan untuk menggunakan GitHub Organizations untuk mempermudah kolaborasi antar anggota tim. Selain itu, untuk TK Proyek Akhir Semester, setiap kelompok nanti akan diminta untuk membuat repositori baru, dan GitHub Organizations dapat membantu 'pengelompokan' repositori-repositori ini.

  1. Setiap kelompok dipersilakan untuk mencari ide sendiri mengenai aplikasi yang akan dibuat. Tema aplikasi adalah informasi seputar produk di sebuah kota. Tema ini dipilih karena terinspirasi ibu kota baru, IKN (Ibu Kota Nusantara). Jika kita pindah atau berkunjung ke kota yang baru pertama kali kita datangi dan kemudian kita ingin membeli sebuah produk di kota itu, kita mungkin belum tahu toko mana yang menjual produk tersebut di kota itu dan kita membutuhkan sebuah aplikasi yang menyediakan informasi seputar produk tersebut di kota itu.
  2. Untuk tugas kelompok PBP ini, setiap kelompok dibebaskan memilih kota yang menjadi basis lokasi aplikasi kelompok, misalnya Kota Depok.
  3. Setiap kelompok harus menentukan kategori utama produk yang menjadi initial dataset aplikasi kelompok. Kategori utama produk harus berisi minimal 100 jenis produk. Contoh:
    • Jika kategori utama produk adalah laptop & handphone maka di initial dataset harus ada minimal 100 merek dan tipe laptop & handphone.
    • Jika kategori utama produk adalah makanan & minuman maka di initial dataset harus ada minimal 100 macam makanan & minuman.
    • Jika kategori utama produk adalah buku maka di initial dataset harus ada minimal 100 judul buku.
    • Jika kategori utama produk adalah tanaman maka di initial dataset harus ada minimal 100 jenis tanaman.
  4. Setiap kelompok mengimplementasikan initial dataset dalam bentuk class Models dan menyimpan data dari initial dataset tersebut ke dalam basis data Django. Sumber data untuk initial dataset boleh berasal dari mana saja, misalnya dari Kaggle dan Wikipedia.
  5. Setiap anggota kelompok mengerjakan modul yang berbeda. Modul ditentukan oleh kelompok yang disesuaikan dengan ide aplikasi yang sudah didiskusikan dalam kelompok.
  6. Tugas kelompok di-deploy sebagai kesatuan aplikasi web. Setiap kelompok diharapkan menggunakan PWS sebagai PaaS untuk deployment proyek TK, tetapi setiap kelompok juga diberi kebebasan jika ingin melakukan deployment pada PaaS lain.

Aturan Khusus per Anggota Kelompok

  1. Menerapkan Models dengan membuat, memanfaatkan yang sudah disediakan oleh Django, atau memanfaatkan yang sudah dibuat oleh anggota kelompok lain (pada modul lain).
  2. Menerapkan Views untuk memproses request dan mengolah data untuk menghasilkan respons menggunakan templat HTML maupun mengembalikan respons JSON.
  3. Menerapkan templat HTML dengan kerangka yang sistematis dan efisien, seperti base.html, header.html, dan footer.html.
  4. Menerapkan templat HTML menggunakan responsive framework (seperti Bootstrap atau Tailwind).
  5. Memiliki halaman form yang dapat menerima masukan dari pengguna kemudian diproses oleh Views. Contoh pemrosesan oleh Views adalah insert data ke dalam Models, query data dari Models, dan update data di dalam Models.
  6. Menerapkan JavaScript dengan pemanggilan AJAX.
  7. Menerapkan filter informasi bagi pengguna yang sudah log in saja. Contohnya adalah data alamat, umur, dan nomor handphone hanya dapat dilihat oleh pengguna yang sudah log in saja.
  8. Menerapkan filter pada daftar produk dari initial dataset yang ditampilkan. Contohnya adalah menampilkan daftar produk berdasarkan harga.

Tahapan Tugas Kelompok

Tahapan dan deliverablesTenggat Waktu dan Keterangan
Tahap I (40%)
  • Pembuatan GitHub kelompok
  • README.md pada GitHub yang berisi:
    1. Nama-nama anggota kelompok
    2. Deskripsi aplikasi (cerita aplikasi yang diajukan serta kebermanfaatannya)
    3. Daftar modul yang akan diimplementasikan
    4. Sumber initial dataset kategori utama produk
    5. Role atau peran pengguna beserta deskripsinya (karena bisa saja lebih dari satu jenis pengguna yang mengakses aplikasi)
    6. Tautan deployment aplikasi
Tenggat Waktu: Rabu, 9 Oktober 2024, pukul 23:55 WIB

Kumpulkan ke SCELE: Tautan GitHub dengan code base proyek Django yang sudah disiapkan di GitHub.

Tahap II (60%)

(Modul sudah terimplementasi dengan baik)

Checklist:

  • Modul aplikasi dari tiap anggota kelompok
  • URL Mapping untuk modul
  • Models untuk modul
  • Views untuk modul
  • Terintegrasi sebagai satu kesatuan aplikasi
  • Fungsionalitas sesuai dengan rancangan desain
  • Unit Test (passed) untuk semua aspek, diharapkan code coverage bisa mencapai minimal 80%
Tenggat Waktu: Minggu, 27 Oktober 2024, pukul 23.55 WIB

Kriteria Submisi: Seluruh modul yang dikerjakan oleh setiap anggota kelompok sudah muncul dan dapat diakses pada proyek Django.