Lewati ke isi

Proyek Tengah Semester PBP

Membuat Situs Web menggunakan Framework Django (Berkelompok)


Tujuan Pembelajaran Khusus

  1. Merancang halaman web
  2. Mengimplementasikan website menggunakan framework Django dengan memenuhi Models, Views, dan Templates
  3. Memanfaatkan framework CSS untuk mewujudkan Responsive Web Design
  4. Mengimplementasikan Unit Test & deployment (bonus)

Catatan

Perlu diperhatikan selain tujuan pembelajaran khusus seperti tertulis di atas, peserta kuliah juga perlu mempelajari dan dilatih beberapa aspek kecendekiaan sebagai calon sarjana. Di antaranya yang relevan dalam kuliah ini adalah keteguhan (grit), kemandirian, ketelitian, termasuk juga metakognitif (secara sederhana bisa diartikan kemampuan mengatur strategi belajar yang sesuai dengan dirinya meliputi perencanaan, monitoring dan evaluasi proses belajar mandiri), termasuk di dalamnya kemampuan untuk memahami, mengkomunikasikan masalah, diskusi dan bertanya, sehingga peserta kuliah juga perlu siap bersikap positif dengan kondisi-kondisi yang secara tidak langsung atau tidak pasti akan dihadapi dan mungkin dapat menghabiskan banyak waktu. Kondisi tersebut bisa dianggap kendala, seperti keterbatasan sumber daya, bug tools, kesulitan teknis atau lainnya. Walaupun dirasakan menyulitkan, perlu diupayakan untuk disikapi dengan positif agar dapat menjadi manfaat terkait aspek kecendekiaan yang perlu dilatih peserta kuliah. Sikap negatif hanya akan memperburuk keadaan dan menghilangkan manfaat tugas ini untuk pembelajaran yang akan dapat dirasakan di kemudian hari. Tim asisten dan dosen melalui sarana yang ada, akan berusaha semampunya melayani pertanyaan, keluhan, dan membantu proses pembelajaran peserta agar peserta bisa menjalani perkuliahan dan belajar semaksimal mungkin.

Sebagai selingan, bila rekan-rekan lelah dan bingung menghadapi error yang belum kunjung terselesaikan, berikut ini ada video yang cukup populer dan mudah-mudahan bisa menambah semangat untuk tetap teguh mengerjakan dan berlatih demi kesuksesan di kemudian hari.

Selamat mengerjakan. 😄

Aturan Umum Tugas Kelompok

  1. Satu kelompok terdiri atas 5-6 orang.
  2. Satu kelompok membuat satu repositori Git di dalam satu organisasi yang digunakan oleh seluruh anggota kelompok untuk bekerja sama. Kumpulkan tautan repositori ke Scele.
  3. Setiap kelompok dipersilakan mencari ide sendiri mengenai aplikasi yang akan dibuat. Tema aplikasi adalah makanan dan minuman (food and beverage). Tema ini dipilih karena tiga alasan:
    • Pada Semester Genap 2023/2024, ada momen bulan Ramadan. Biasanya ada banyak acara bukber (buka puasa bersama) pada bulan Ramadan. Acara-acara bukber tersebut dapat menjadi peluang usaha makanan dan minuman.
    • Setelah bulan Ramadan, ada Hari Raya Idulfitri. Perayaan Hari Raya Idulfitri juga dapat menjadi peluang usaha kue kering khas Idulfitri.
    • Selain momen bulan Ramadan dan Hari Raya Idulfitri, tinggal di lingkungan sekitar kampus juga dapat menjadi peluang usaha katering untuk kegiatan kampus dan untuk mahasiswa yang tidak sempat memasak.
  4. Setiap kelompok mengimplementasikan dataset makanan dan minuman dalam bentuk class Models dan menyimpan data dari dataset tersebut ke dalam database Django. Dataset makanan dan minuman harus berisi minimal 100 makanan dan/atau minuman. Sumber dataset makanan dan minuman boleh berasal dari mana saja, misalnya dari Kaggle. Contoh URL dataset yang dapat digunakan:
  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 dikumpulkan sebagai kesatuan aplikasi web.

Aturan Khusus per Anggota Kelompok

  1. Menerapkan Models dengan membuat, memanfaatkan yang sudah disediakan Django, atau memanfaatkan yang sudah dibuat oleh anggota kelompok (di 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 responsive framework pada templat HTML (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 pada 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 ponsel hanya dapat dilihat oleh pengguna yang sudah log in saja.
  8. Menerapkan filter pada dataset makanan dan minuman yang ditampilkan. Contohnya adalah menampilkan daftar makanan dan minuman berdasarkan harga.

Tahapan Tugas Kelompok



Tahapan dan deliverables Tenggat 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 dataset makanan dan minuman
    5. Role atau peran pengguna beserta deskripsinya (karena bisa saja lebih dari satu jenis pengguna yang mengakses aplikasi)
Tenggat Waktu: Rabu, 13 Maret 2024, pukul 23:55 WIB Kumpulkan tautan GitHub dengan code base proyek Django yang sudah disiapkan di GitHub ke slot submisi yang tersedia di SCELE.
Tahap II (60%)

(Modul sudah terimplementasi dengan baik)

  • 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
Tenggat Waktu: Rabu, 17 April 2024, pukul 23.55 WIB

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

Bonus (5%)
  • Unit Test (passed) untuk semua aspek, diharapkan code coverage bisa mencapai minimal 80%
  • GitHub Actions (CI/CD) sudah terkonfigurasi hingga deployment
  • Pipeline status dan tautan aplikasi yang sudah di-deploy tersedia di berkas README.md pada GitHub