Memuat
Project
  • Klien:   Politeknik Negeri Batam
  • Marketplace
  • Tanggal:   Agt 2026

Vannamei Connect: Marketplace dan Ketertelusuran Udang Vannamei

Sampul project Vannamei Connect: Marketplace dan Ketertelusuran Udang Vannamei

Platform web untuk pelaku usaha udang vannamei Kepulauan Riau. Menyatukan marketplace, ketertelusuran QR Code, dan dashboard monitoring pemerintah dalam satu aplikasi.

Beranda (desktop)
Marketplace (desktop)

Latar belakang

Udang vannamei termasuk komoditas ekspor andalan Kepulauan Riau, tapi pelaku usahanya bekerja sendiri-sendiri. Petambak menjual hasil panen lewat jaringan kenalan, pengepul dan unit pengolahan ikan menyimpan catatan di bukunya masing-masing, dan pembeli ekspor kerap meminta bukti asal-usul produk yang tidak bisa ditunjukkan siapa pun. Pemerintah daerah punya kesulitan lain: data produksi dan kesiapan ekspor tersebar dalam format yang berbeda-beda, jadi sulit dipakai untuk menyusun kebijakan.

Program studi Logistik Perdagangan Internasional Politeknik Negeri Batam ingin semua itu ditampung dalam satu aplikasi web, dengan dukungan BRIDA Pemprov Kepulauan Riau. Saya yang mengerjakan aplikasinya.

Solusi

Vannamei Connect memakai empat peran: pengelola (petambak, supplier, pengepul, unit pengolahan ikan), pembeli (lokal dan ekspor), pemerintah, serta admin. Pengelola memasang katalog produk, mencatat tambak dan siklus produksi, lalu mengunggah dokumen legalitas. Pembeli mencari produk di marketplace publik, memesan, transfer langsung ke rekening pengelola, dan mengunggah bukti transfernya. Aplikasi tidak memegang uang dan tidak memungut komisi, jadi tugasnya mencatat bukti dan memindahkan status pesanan.

Setiap pesanan otomatis membuat lot ketertelusuran berisi tahap pembudidayaan dan panen. Ketika pengelola mengisi data pengiriman, tahap pengiriman ikut masuk ke rantai yang sama. Lot punya QR Code yang bisa dipindai siapa saja tanpa login, dan halaman hasil pindaian menampilkan perjalanan produk dari tambak sampai ke tangan pembeli.

Sisi pemerintah dipisahkan ke panel tersendiri yang hanya bisa membaca: tren transaksi, sebaran pelaku usaha di peta, toko dengan penjualan tertinggi, pembeli teratas, agregat kesiapan ekspor, ditambah unduhan data dalam CSV, Excel, dan PDF.

Fitur utama

  • Marketplace publik berisi katalog produk, halaman toko, rating dari ulasan pembeli, dan wishlist.
  • Alur pesanan penuh mulai dari pembuatan pesanan, unggah bukti transfer, konfirmasi penjual, pengemasan, pengiriman, penyelesaian, sampai ulasan.
  • Ketertelusuran berbasis QR Code per lot dengan halaman publik hasil pemindaian.
  • Skor Kesiapan Ekspor 0 sampai 100 dari lima kategori berbobot (legalitas, dokumen mutu, produksi, mutu produk, pengiriman) yang dihitung ulang otomatis setiap dokumen, produk, tambak, atau data pengiriman berubah.
  • Pendaftaran pengelola yang mewajibkan unggah NIB dan NPWP, lalu persetujuan admin sebelum akun bisa berjualan.
  • Panel admin dan panel monitoring pemerintah sebagai dua area terpisah dengan hak akses berbeda.
  • Antarmuka dua bahasa, Indonesia dan Inggris, dengan harga yang tampil dalam rupiah sekaligus dolar memakai kurs yang disegarkan harian.

Tantangan teknis

Yang paling merepotkan justru hal yang kelihatan sepele: alamat. Formulir awal memakai kolom teks bebas, dan hasilnya alamat pelaku usaha tidak bisa dipakai untuk menyaring apa pun. Saya ganti dengan pilihan wilayah empat tingkat memakai dataset Kepmendagri yang berisi 91.599 baris. Data sebanyak itu saya muat di dalam migrasi, bukan seeder, karena proses rilis di server hanya menjalankan migrasi. Berkasnya disimpan terkompresi dan dibaca baris demi baris, lalu disisipkan per 2.000 baris supaya pemakaian memori tetap rendah, dan dilewati di lingkungan pengujian agar test suite tidak ikut melambat.

Halaman Ketertelusuran sempat membalas error 500 di server. Penyebabnya generator QR memakai PngWriter yang butuh ekstensi GD, sementara image aplikasi tidak memasangnya. Saya pindah ke SvgWriter yang ditempelkan sebagai data URI. Berkasnya lebih kecil, tidak menambah ketergantungan, dan tetap tajam ketika dicetak di kemasan.

Masalah berikutnya, email pendaftaran tidak pernah sampai. Container di server tidak menjalankan queue worker, jadi notifikasi ShouldQueue hanya menumpuk di tabel jobs. Saya bungkus pengirimannya dalam satu helper kecil yang memakai defer dan rescue, sehingga email dikirim setelah respons sampai ke peramban dan SMTP yang bermasalah cuma tercatat di log tanpa menggagalkan pendaftaran.

Untuk persetujuan pengelola, logikanya saya taruh di event model User, bukan di tombolnya. Admin bisa menyetujui dari tiga tempat berbeda di panel, dan menyatukan aturan di satu titik mencegah ada jalur yang lupa memverifikasi berkas atau mengirim email.

Peran saya

Saya mengerjakan project ini sendirian. Mulai dari menyusun PRD, skema basis data, dan dokumen arsitektur di awal, lalu membangun seluruh aplikasi: migrasi, model, komponen Livewire, dua panel Filament, terjemahan dua bahasa, sampai Dockerfile untuk rilis. Manual book penggunaan beserta gambarnya juga saya susun sendiri.

Hasil dan pengembangan selanjutnya

Fase pertama sudah rampung dan berjalan di vannameiconnect.com dengan keempat alur peran lengkap dari pendaftaran sampai ulasan. Pengujian otomatis saya pakai untuk menutup bagian yang merepotkan kalau diuji manual: panel admin, dashboard pemerintah, alur pendaftaran pengelola, dan pemformatan nomor telepon.

Ada beberapa hal yang saya catat sebagai pekerjaan berikutnya. Formulir pengiriman belum menyediakan kolom nomor kontainer dan nomor seal, padahal kategori Pengiriman pada skor kesiapan membutuhkannya, jadi untuk sekarang satu-satunya jalan adalah mengunggah dokumen bukti pengiriman. Pesan validasi bawaan Laravel juga masih berbahasa Inggris karena berkas terjemahannya belum dibuat. Rencana setelah ini: aplikasi mobile, WhatsApp Business API supaya notifikasi benar-benar terkirim otomatis, dan integrasi data resmi pemerintah.

Teknologi

Laravel 13 PHP 8.3 Livewire 3 Filament v4 Tailwind CSS v4 MySQL 8 Docker

Project serupa

Siap mewujudkan ide Anda? Saya siap membantu

© 2026 Axa Rajandrya. Seluruh hak cipta dilindungi.

+
+