Skip to content

Day 25 โ€” Integrasi, Review Kode & Mini Test Bulan 2 โ€‹

Fase: 3 โ€” Fitur Lanjutan | Minggu: 5 | Hari: Jumat


๐ŸŽฏ Tujuan Hari Ini โ€‹

  • Memastikan semua fitur minggu ini (Upload File, Export Excel, Export PDF) terintegrasi sempurna ke SIMAS.
  • Melakukan Code Review berpasangan untuk menemukan bug dan meningkatkan kualitas kode.
  • Memverifikasi seluruh alur kerja (workflow) end-to-end dari tambah aset hingga export laporan.
  • Mini Test: setiap peserta menambahkan satu fitur export mandiri.

๐Ÿ“‹ Checklist Integrasi Penuh โ€‹

Sebelum melanjutkan ke minggu depan, pastikan semua poin ini terpenuhi:

โœ… Fitur Upload File โ€‹

  • [ ] Kolom photo ada di tabel assets (sudah di-migrate)
  • [ ] Form Create Asset memiliki input file dengan validasi
  • [ ] Form Edit Asset menampilkan foto saat ini dan bisa diganti
  • [ ] Halaman daftar aset menampilkan thumbnail foto
  • [ ] Halaman detail aset menampilkan foto ukuran besar
  • [ ] Foto lama terhapus ketika aset di-update atau di-delete
  • [ ] storage:link sudah dijalankan dan foto bisa diakses di browser
  • [ ] Ada fallback tampilan jika aset tidak punya foto

โœ… Fitur Export Excel (Aset) โ€‹

  • [ ] Package maatwebsite/excel terinstall
  • [ ] AssetsExport class sudah dibuat dan berfungsi
  • [ ] Tombol "Export Excel" ada di halaman /assets
  • [ ] File Excel yang diunduh berisi data lengkap dengan header yang benar
  • [ ] Nama file mengandung tanggal (daftar-aset-YYYYMMDD.xlsx)

โœ… Fitur Export Excel (Peminjaman) โ€‹

  • [ ] LoansExport class sudah dibuat dan berfungsi
  • [ ] Tombol "Export Excel" ada di halaman /loans
  • [ ] File Excel berisi semua data peminjaman

โœ… Fitur Export PDF (Peminjaman) โ€‹

  • [ ] Package barryvdh/laravel-dompdf terinstall
  • [ ] View loans/pdf.blade.php sudah dibuat dengan layout rapi
  • [ ] Tombol "Export PDF" ada di halaman /loans
  • [ ] PDF yang diunduh menampilkan tabel dan ringkasan statistik

๐Ÿ” Sesi Code Review Berpasangan โ€‹

Bagi peserta menjadi pasangan (A + B). Setiap pasangan saling review kode masing-masing.

Panduan Code Review โ€‹

Reviewer (yang mereview) menilai aspek berikut:

1. Keamanan (Security)

โ“ Apakah ada validasi tipe file di controller (bukan hanya di HTML)?
โ“ Apakah nama file dari user TIDAK digunakan langsung?
โ“ Apakah ada proteksi CSRF pada semua form?

2. Kualitas Kode (Code Quality)

โ“ Apakah ada kode duplikat yang bisa direfactor?
โ“ Apakah logika hapus file sudah ada di semua tempat yang relevan (update & delete)?
โ“ Apakah ada komentar yang membantu memahami kode?

3. User Experience (UX)

โ“ Apakah ada flash message setelah upload berhasil/gagal?
โ“ Apakah ada fallback tampilan jika foto tidak ada?
โ“ Apakah tombol export mudah ditemukan oleh user?

Template Feedback Code Review โ€‹

Reviewer : [Nama]
Reviewee : [Nama]
Tanggal  : [Tanggal]

โœ… Yang sudah baik:
1. ...
2. ...

โš ๏ธ Yang perlu diperbaiki:
1. ...
2. ...

๐Ÿ’ก Saran tambahan:
1. ...

๐Ÿงช Mini Test Mandiri (60 Menit) โ€‹

Setiap peserta harus menyelesaikan salah satu tantangan berikut secara mandiri:

Tantangan A โ€” Export Aset ke PDF โ€‹

Buat fitur export PDF untuk data Aset (bukan peminjaman). PDF harus menampilkan foto thumbnail jika aset memiliki foto (gunakan Base64).

Tantangan B โ€” Export Peminjaman Berdasarkan Filter Tanggal โ€‹

Tambahkan form filter tanggal di halaman peminjaman. Export Excel dan PDF hanya mengambil data peminjaman dalam rentang tanggal yang dipilih user.

Tantangan C โ€” Export Laporan Aset per Kategori โ€‹

Buat sheet Excel terpisah untuk setiap kategori. Gunakan WithMultipleSheets dari Laravel Excel agar setiap kategori berada di tab sheet yang berbeda.


๐Ÿ“Š Review Progress Minggu 5 โ€‹

FiturStatusCatatan
Upload Foto Asetโฌœ Belum / โœ… Selesai
Tampil & Kelola Fotoโฌœ Belum / โœ… Selesai
Export Excel Asetโฌœ Belum / โœ… Selesai
Export Excel Peminjamanโฌœ Belum / โœ… Selesai
Export PDF Peminjamanโฌœ Belum / โœ… Selesai
Mini Test Mandiriโฌœ Belum / โœ… Selesai

๐Ÿš€ Preview Minggu Depan โ€‹

Minggu depan adalah Minggu 6: Deployment โ€” tahap paling menarik sekaligus paling menantang.

Kamu akan belajar:

  • Apa itu production environment dan mengapa berbeda dari development.
  • Cara mendeploy aplikasi Laravel ke cloud platform (Railway/Render) secara gratis.
  • Cara mengkonfigurasi database, storage, dan environment variables di server.
  • Dasar-dasar keamanan aplikasi sebelum go-live.

IMPORTANT

Persiapan untuk Minggu Depan: Pastikan repository GitHub kamu sudah up-to-date dengan semua fitur terbaru. Semua perubahan hari ini harus sudah di-push ke branch main atau develop sebelum hari Senin.


๐Ÿ“ Standup Akhir Hari โ€‹

Sebelum pulang, setiap peserta wajib menjawab:

  1. Fitur mana yang paling kamu banggakan dari minggu ini?
  2. Bug apa yang paling sulit kamu selesaikan? Bagaimana kamu mengatasinya?
  3. Apa yang belum kamu pahami dan ingin kamu tanyakan minggu depan?

Program Magang SMK RPL โ€” Rekayasa Perangkat Lunak (2 Bulan)