Project overview
Smart Agrologistic adalah backend REST API untuk manajemen rantai pasok hasil pertanian. Sistem ini menghubungkan petani sebagai produsen dengan distribution center (DC) sebagai titik pengumpulan dan penjualan, serta konsumen dan industri sebagai pembeli.
Problem statement
Dalam rantai pasok hasil pertanian, satu produk berpindah melalui banyak pihak. Tanpa sistem terpadu, sulit mengetahui berapa stok yang tersedia di setiap titik, dari mana suatu produk berasal, dan bagaimana stok berubah ketika terjadi penjualan, transfer, atau retur.
Project objectives
- Menyediakan satu sumber data stok untuk petani dan DC.
- Mencatat setiap perubahan stok sebagai mutasi yang dapat ditelusuri.
- Memudahkan pembeli menemukan DC terdekat.
- Mendukung pengembalian barang (retur) tanpa merusak konsistensi stok.
My role and responsibilities
Sebagai pengembang utama backend, saya merancang struktur data, hak akses per peran, dan logika bisnis stok, lalu mengimplementasikan seluruh endpoint REST API beserta dokumentasinya.
Solution overview
Sistem dibangun sebagai REST API dengan lima peran yang aksesnya dibatasi sesuai kepemilikan data:
- Admin — mengelola varian/grade produk, DC, petani, serta memantau seluruh transaksi, retur, dan mutasi stok.
- DC — mengelola profil, harga per varian, transaksi, dan stok miliknya sendiri.
- Petani — mencatat produksi dan memantau stok miliknya sendiri.
- Consumer dan Industry — mendaftar mandiri, mencari DC, membeli, dan mengajukan retur.
Setiap operasi yang memengaruhi stok — produksi, penjualan, transfer, pembatalan, dan retur — otomatis mencatat mutasi stok masuk atau keluar, sehingga riwayat stok selalu dapat diaudit.
Key features
- Pencatatan produksi yang otomatis menambah stok dan menghasilkan QR code untuk penelusuran.
- Pencarian DC terdekat berdasarkan koordinat lokasi, serta pencarian DC dan produksi melalui scan QR code.
- Transaksi penjualan dengan pengurangan stok otomatis dan pembalikan stok (reversal) saat transaksi dihapus.
- Transfer stok antar DC atau petani dengan mutasi keluar dan masuk tercatat di kedua sisi.
- Retur parsial maupun penuh yang mengembalikan stok ke DC secara otomatis.
- Rekap stok per varian dan riwayat mutasi dengan filter sumber, varian, dan rentang tanggal.
Development challenges
Tantangan utama adalah menjaga konsistensi stok ketika banyak jenis transaksi saling memengaruhi. Solusinya adalah menjadikan setiap perubahan stok sebagai mutasi yang tercatat, termasuk pembatalan dan retur, sehingga stok saat ini selalu dapat direkonstruksi dari riwayatnya. Tantangan lain adalah memastikan setiap peran hanya dapat mengakses data miliknya sendiri.
Results and outcomes
Sistem menyediakan alur rantai pasok yang lengkap — dari produksi di tingkat petani hingga pembelian dan retur oleh konsumen maupun industri — dengan riwayat stok yang dapat ditelusuri di setiap titik distribusi.