Skip to main content

Proyek Tengah Semester

Membuat Situs Web menggunakan Framework Django (Berkelompok)


Tujuan Pembelajaran Khusus

  1. Merancang halaman web
  2. Mengimplementasikan situs web dengan framework Django dengan memenuhi models, views, dan template
  3. Memanfaatkan framework CSS untuk mewujudkan responsive web design
  4. Mengimplementasikan unit test dan 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 4-6 orang. Pembagian kelompok dapat dilihat di SCELE.
  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 untuk mencari ide sendiri mengenai aplikasi yang akan dibuat. Tema aplikasi adalah literasi dan buku. Tema ini dipilih karena tiga alasan:
    • Untuk meningkatkan kesadaran kita tentang pentingnya literasi.
    • Tema ini sesuai dengan tema Kongres Bahasa Indonesia XII yang akan diselenggarakan pada tanggal 25—28 Oktober 2023, yaitu "Literasi dalam Kebinekaan untuk Kemajuan Bangsa." Kongres Bahasa Indonesia adalah forum tertinggi yang membahas masalah kebahasaan dan kesastraan di Indonesia. Kongres Bahasa Indonesia diselenggarakan setiap lima tahun sekali oleh Badan Pengembangan dan Pembinaan Bahasa, Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi. https://kbi.kemdikbud.go.id/.
    • Tema ini sesuai dengan peringatan Bulan Bahasa dan Sastra yang dilakukan setiap bulan Oktober di Indonesia untuk mengingat sejarah kelahiran bahasa Indonesia.
  4. Setiap kelompok mengimplementasikan katalog buku dalam bentuk class models dan menyimpan data dari dataset ke dalam basis data Django. Dataset katalog buku harus berisi minimal 100 buku. Sumber dataset katalog buku boleh berasal dari mana saja, misalnya dari Project Gutenberg, Google Books API, Kaggle, dan Data Skripsi LONTAR. Berikut adalah 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 atau memanfaatkan model yang sudah disediakan oleh Django maupun yang sudah dibuat oleh anggota kelompok (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 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 model, query data dari model, dan update data pada model.
  6. Menerapkan JavaScript dengan pemanggilan AJAX.
  7. Menerapkan filter informasi bagi pengguna yang sudah login saja. Contohnya adalah data alamat, umur, dan nomor ponsel hanya dapat dilihat oleh pengguna yang sudah login saja.
  8. Menerapkan filter pada dataset katalog buku yang ditampilkan. Contohnya adalah menampilkan daftar buku berdasarkan nama penulisnya.

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. Cerita aplikasi yang diajukan serta manfaatnya
    3. Daftar modul yang akan diimplementasikan
    4. Sumber dataset katalog buku
  • Role atau peran pengguna beserta deskripsinya (karena bisa saja lebih dari satu jenis pengguna yang mengakses aplikasi)
Tenggat Waktu: Rabu, 11 Oktober 2023, pukul 23:55 WIBKumpulkan 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: Minggu, 29 Oktober 2023, 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