Lewati ke konten utama

Proyek Tengah Semester

Membuat Situs Web menggunakan Framework Django (Berkelompok)

Tanggal Publish : Rabu, 22 September 2025 12.00 WIB Version 1.0


Tujuan Pembelajaran Khusus

  1. Merancang Halaman Web yang Responsive Web Design dengan memanfaatkan framework CSS
  2. Mengimplementasikan situs web menggunakan framework Django dengan memenuhi Models, Views, dan Template
  3. Mengimplementasikan Unit Test dan deployment PWS

Aturan Umum Tugas Kelompok

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

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 OLAHRAGA
  2. Tema ini dipilih karena bertepatan dengan momen aktual: putaran keempat kualifikasi Piala Dunia 2026 yang digelar Oktober 2025. Kalian bebas memilih olahraga apa saja (sepak bola, badminton, basket, dll.) dan bebas bentuk websitenya, misalnya:
    • Website toko peralatan olahraga
    • Fansite olahraga tertentu
    • Informasi tempat olahraga di kota/provinsi tertentu
    • Portal berita/komunitas olahraga
  3. Setiap kelompok harus menentukan kategori utama produk yang menjadi initial dataset aplikasi kelompok. Kategori utama produk harus berisi minimal 100 jenis produk.
  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.
info

Tips : Jika dataset tidak tersedia di google maupun sumber manapun, kalian dapat melakukan teknik scrapping untuk keperluan dataset kalian.

  1. Setiap anggota kelompok mengerjakan modul yang berbeda. Modul ditentukan oleh kelompok yang disesuaikan dengan ide aplikasi yang sudah didiskusikan dalam kelompok.

  2. 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.

  3. Dibagian README.md kalian WAJIB tuliskan :

    • Deskripsi website kalian,
    • Nama anggota kelompok + NPM,
    • Daftar modul + deskripsi modul,
    • Link sumber dataset,
    • Jenis pengguna website kalian,
    • Link pws, dan
    • Link design website (Figma, canva, dll) kelompok kalian [OPTIONAL].
info

Jika kalian menerapkan figma untuk desain UI Website kalian, kalian akan mendapatkan nilai bonus untuk proyek ini. Silakan manfaatkan panduan tugas kelompok untuk mengetahui lebih lanjut tentang resources yang dapat kalian gunakan untuk tugas ini.

info

Tips : Kalian bisa memanfaatkan berbagai teknik penulisan README.md agar dapat membuat file README.md yang rapi dan terstruktur

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 PWS dan link design
Tenggat Waktu: Rabu, 8 Oktober 2025, 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: Jumat, 24 Oktober 2024, pukul 23.55 WIB

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

Panduan Tugas Kelompok

Untuk mempermudah kalian dalam mengerjakan tugas kelompok, tim asdos telah menyiapkan panduan lengkap yang bisa jadi pegangan selama proses development.