Mini Inventory App
Seri tutorial lengkap membuat aplikasi inventory dari database, backend, hingga frontend menggunakan RESTForge dan AppForge.
Seri tutorial ini memandu pembangunan aplikasi Mini Inventory secara lengkap menggunakan RESTForge sebagai backend framework dan AppForge sebagai frontend code generator. Seluruh proses pembangunan dilakukan secara bertahap mulai dari pembuatan database, backend API, hingga frontend yang siap digunakan.
Gambaran Aplikasi (Overview)
Mini Inventory adalah aplikasi manajemen inventori berbasis web dengan cakupan berikut:
- Master data — pengelolaan kategori produk, gudang, supplier, customer, dan item produk
- Transaksi — pencatatan penerimaan barang dari supplier (stock inbound) dan pengiriman barang ke customer (stock outbound) dengan struktur header-detail
Teknologi (Technology Stack)
| Komponen | Teknologi |
|---|---|
| Frontend | HTML, CSS, JavaScript (Vanilla JS), Bootstrap 5 |
| Backend | RESTForge (Node.js) |
| Database | PostgreSQL |
| Autentikasi | JWT (JSON Web Token) |
| Code Generator | AppForge CLI dengan plugin vanilla-js-auth |
Modul Aplikasi (Application Modules)
Master Data
| Modul | Fungsi |
|---|---|
| Category | Pengelompokan produk berdasarkan jenis (Elektronik, Fashion, Makanan, Kesehatan, Rumah Tangga, Olahraga) |
| Warehouse | Lokasi penyimpanan dengan tipe gudang: main, transit, consignment, external |
| Supplier | Data pemasok beserta informasi kontak dan tracking hutang |
| Customer | Data pelanggan beserta informasi kontak dan tracking piutang |
| Item Product | Data produk lengkap dengan harga beli, harga jual, stok, satuan ukur, dan lokasi rak |
Transaksi
| Modul | Fungsi |
|---|---|
| Stock Inbound | Pencatatan penerimaan barang dari supplier ke gudang, dengan detail item per baris |
| Stock Outbound | Pencatatan pengiriman barang dari gudang ke customer, dengan detail item per baris |
Struktur Database
Aplikasi menggunakan 10 tabel yang terbagi dalam tiga kelompok:
Tabel Master
| Tabel | Fungsi | Kolom Utama |
|---|---|---|
category | Kategori produk | category_code, category_name, is_active |
warehouse | Lokasi gudang | warehouse_code, warehouse_name, warehouse_type, capacity |
supplier | Data pemasok | supplier_code, supplier_name, contact_person, phone, email |
customer | Data pelanggan | customer_code, customer_name, contact_person, phone, email |
item_product | Data produk dan stok | product_code, sku, product_name, purchase_price, selling_price, current_stock |
Tabel Transaksi
| Tabel | Fungsi | Kolom Utama |
|---|---|---|
stock_inbound | Header barang masuk | inbound_number, inbound_date, supplier_id, warehouse_id, status |
stock_inbound_item | Detail item barang masuk | item_product_id, qty_received, unit_price, total_amount |
stock_outbound | Header barang keluar | outbound_number, outbound_date, customer_id, warehouse_id, status |
stock_outbound_item | Detail item barang keluar | item_product_id, qty_shipped, unit_price, total_amount |
Tabel Referensi
| Tabel | Fungsi | Kolom Utama |
|---|---|---|
stock_beginning_balance | Saldo awal stok per periode | item_product_id, warehouse_id, period_date, qty_beginning |
Seluruh tabel menggunakan UUID sebagai primary key dan dilengkapi kolom audit (created_at, created_by, updated_at, updated_by) untuk pelacakan perubahan data.
Alur Pembelajaran (Learning Path)
Tutorial disusun secara berurutan dan setiap bagian membangun di atas hasil dari bagian sebelumnya.
| Tahap | Bagian | Hasil Akhir |
|---|---|---|
| Persiapan | Kebutuhan Sistem | Lingkungan development siap digunakan |
| Database | 10 tabel beserta data awal tersedia di PostgreSQL | |
| Membuat Backend | 7 endpoint API berjalan di port 3032 | |
| Membuat Frontend | Project frontend dengan halaman login berfungsi | |
| Master Data | Category sampai Item Product | 5 halaman CRUD lengkap dengan form, tabel, dan filter |
| Transaksi | Stock Inbound dan Stock Outbound | 2 halaman transaksi master-detail dengan kalkulasi otomatis |
Seri tutorial ini bersifat sekuensial. Setiap bagian memerlukan hasil dari bagian sebelumnya. Disarankan untuk mengikuti urutan yang ditetapkan agar seluruh langkah dapat berjalan dengan benar.