InvenTrack — Sistem Manajemen Inventaris
Platform manajemen inventaris modern yang dibangun sebagai proyek portofolio untuk mendemonstrasikan kemampuan full-stack, arsitektur bersih, dan desain UI/UX premium.
Pernyataan Masalah
Problem Statement
Operasi ritel skala kecil hingga menengah sering menggunakan sistem yang terpisah-pisah untuk manajemen inventaris — spreadsheet Excel yang tidak terstandar, catatan manual, atau software lama yang mahal dan sulit digunakan.
Tantangan utamanya adalah: membangun sistem yang sePowerful ERP enterprise, namun seintuitif dan semudah digunakan seperti aplikasi SaaS modern. Sistem harus mampu menangani pemotongan stok real-time, kategorisasi kompleks, pelacakan pemasok, dan menyediakan laporan bisnis yang actionable — tanpa membebani pengguna akhir.
Tantangan Bisnis
Business Challenges
Integritas Stok Real-time
Menghindari race condition pada transaksi stok simultan yang dapat menyebabkan stok negatif.
Multi-Role Access Control
Membedakan akses Owner dan Staff tanpa mengorbankan UX — Owner melihat lebih banyak, Staff tetap produktif.
Visibilitas Data Bisnis
Mengubah data transaksi mentah menjadi insight visual yang dapat dikerjakan oleh manajemen.
Efisiensi Input Data
Mempercepat proses input stok menggunakan barcode scanner USB dan pembuatan barcode otomatis.
Pelaporan Komprehensif
6 jenis laporan dengan kemampuan ekspor Excel dan PDF yang dapat langsung digunakan.
Audit & Akuntabilitas
Setiap perubahan data harus terlacak — siapa yang melakukan, kapan, dan apa yang berubah.
Tujuan Proyek
Project Goals
UX yang Intuitif
Staf dapat dilatih dalam hitungan menit. Fokus pada alur kerja logis dan aksesibilitas keyboard.
Integritas Data Real-time
Stok dijaga ketat melalui transaksi atomik PostgreSQL, mencegah race condition.
Intelijen Bisnis Actionable
Data transaksi diubah menjadi insight visual melalui dashboard Business Intelligence interaktif.
Integrasi Hardware
Barcode generation native dan input scanner USB untuk mempercepat entri data gudang.
Solusi yang Dibangun
Solution Overview
InvenTrack adalah aplikasi web full-stack yang dibangun di atas Next.js 16 App Router dengan Supabase sebagai backend. Sistem ini mengelola seluruh siklus inventaris — dari penerimaan barang, pelacakan stok, hingga analitik penjualan dan laporan manajemen.
Server Actions
Seluruh mutasi data menggunakan React Server Actions — tanpa API routes terpisah.
PostgreSQL RPCs
Transaksi stok diproses via fungsi atomik di database level, bukan kalkulasi client-side.
Row Level Security
Semua tabel dilindungi oleh RLS Supabase dengan policy Owner/Staff yang granular.
Arsitektur Sistem
System Architecture
Technology Stack
Database Design (PostgreSQL)
Schema yang sangat ternormalisasi dengan 5 tabel utama (profiles, categories, suppliers, products, stock_transactions) dan 1 view (products_with_status). Integritas stok dijaga via fungsi atomik process_stock_transaction() yang menggunakan row-level lock untuk mencegah race condition.
Frontend Architecture
Aplikasi memanfaatkan React Server Components secara maksimal untuk data fetching, meminimalkan ukuran client bundle. Client Components hanya digunakan untuk batas interaktif (chart, form kompleks, context). Shadcn UI + Radix primitives menjamin aksesibilitas yang sempurna.
Kapabilitas Analitik
Analytics Capabilities
Kapabilitas Pelaporan
Reporting Capabilities
Laporan Inventaris
Status stok, nilai, dan harga semua produk aktif
Laporan Stok Masuk
Riwayat penerimaan barang dengan detail supplier dan biaya
Laporan Stok Keluar
Riwayat penjualan dan distribusi barang
Laporan Pemasok
Performa pemasok: total item dipasok dan total spend
Laporan Transaksi
Unified ledger seluruh pergerakan stok (IN + OUT)
Laporan Stok Rendah
Item di bawah minimum stock dengan estimasi biaya restock dan urgency badge
Rencana Pengembangan
Dukungan banyak lokasi gudang dengan transfer antar gudang
Izin berbasis peran yang lebih detail dan fleksibel
Prediksi kebutuhan stok berbasis machine learning
Notifikasi push untuk alert stok rendah kritis
Ekspor laporan yang sudah selesai diimplementasikan
Pembuatan barcode sudah selesai diimplementasikan