Tentang Proyek

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

01

UX yang Intuitif

Staf dapat dilatih dalam hitungan menit. Fokus pada alur kerja logis dan aksesibilitas keyboard.

02

Integritas Data Real-time

Stok dijaga ketat melalui transaksi atomik PostgreSQL, mencegah race condition.

03

Intelijen Bisnis Actionable

Data transaksi diubah menjadi insight visual melalui dashboard Business Intelligence interaktif.

04

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

Next.js 16
App Router + RSC
Supabase
PostgreSQL + Auth
Tailwind v4
Styling + Dark Mode
Recharts
Data Visualization
React Hook Form
Form Management
Zod
Schema Validation
jsPDF + XLSX
Report Export
jsBarcode
Barcode Generation

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

KPI Cards: Total produk, nilai inventaris, stok masuk/keluar, item low stock
Area Chart: Tren pergerakan stok harian dalam rentang waktu terfilter
Line Chart: Pertumbuhan inventaris kumulatif over time
Bar Chart: Top 10 produk terlaris berdasarkan kuantitas keluar
Bar Chart: Analisis stok rendah — current vs minimum stock side-by-side
Pie Chart: Distribusi kategori produk berdasarkan jumlah item
Tabel Top Selling: Produk dengan revenue dan kuantitas tertinggi
Tabel Most/Least Active: Produk berdasarkan frekuensi transaksi
Dynamic Date Filter: Today, 7D, 30D, Monthly, Yearly, Custom Range

Kapabilitas Pelaporan

Reporting Capabilities

Laporan Inventaris

Status stok, nilai, dan harga semua produk aktif

Excel
PDF

Laporan Stok Masuk

Riwayat penerimaan barang dengan detail supplier dan biaya

Excel
PDF

Laporan Stok Keluar

Riwayat penjualan dan distribusi barang

Excel
PDF

Laporan Pemasok

Performa pemasok: total item dipasok dan total spend

Excel
PDF

Laporan Transaksi

Unified ledger seluruh pergerakan stok (IN + OUT)

Excel
PDF

Laporan Stok Rendah

Item di bawah minimum stock dengan estimasi biaya restock dan urgency badge

Excel
PDF

Rencana Pengembangan

Multi-Warehouse

Dukungan banyak lokasi gudang dengan transfer antar gudang

RBAC Granular

Izin berbasis peran yang lebih detail dan fleksibel

AI Reordering

Prediksi kebutuhan stok berbasis machine learning

Push Notification

Notifikasi push untuk alert stok rendah kritis

Laporan Otomatis

Ekspor laporan yang sudah selesai diimplementasikan

Done
Barcode Generation

Pembuatan barcode sudah selesai diimplementasikan

Done