Skip to content

About

Sistem manajemen inventaris berbasis web untuk mengelola produk, stok, transaksi penjualan, supplier, customer, stock opname, laporan, dan kontrol akses pengguna berbasis role & permission.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

24 Commits

Folders and files

Repository files navigation

Sistem Manajemen Inventaris - Toko Sariputih

Sistem manajemen inventaris berbasis web yang dirancang untuk mengelola stok barang, transaksi penjualan, pembelian, serta fitur stock opname dengan sistem role-based access control (RBAC) yang ketat.


Screenshot

Dashboard Stock Opname Laporan Stok Transaksi Master Produk

Daftar Isi


Fitur Utama

Manajemen Master Data

  • Produk - CRUD produk dengan SKU, barcode, harga, stok minimal, lokasi rak
  • Kategori - Kelompokkan produk berdasarkan jenis
  • Satuan (Unit) - Pcs, Kg, Box, dll
  • Supplier - Data pemasok dengan histori pembelian
  • Customer - Data pelanggan dengan histori transaksi

Operasional Gudang

  • Stok Masuk - Tambah stok dari supplier
  • Stok Keluar - Kurangi stok untuk penjualan/retur
  • Riwayat Mutasi Stok - Lacak semua pergerakan stok
  • Stock Opname - Audit stok fisik vs sistem dengan penyesuaian otomatis

Penjualan & Kasir (POS)

  • Transaksi Penjualan - Input transaksi dengan pencarian produk real-time
  • Keranjang Belanja - Tambah/update/hapus item sebelum checkout
  • Cetak Invoice - Print struk transaksi
  • Riwayat Transaksi - Lihat histori penjualan lengkap

Laporan & Analitik

  • Laporan Stok - Detail stok per produk + peringatan stok menipis
  • Laporan Transaksi - Filter by date, type, payment status
  • Laporan Laba/Profit - Perhitungan laba kotor & margin
  • Laporan Supplier - Pembelian per supplier
  • Laporan Customer - Penjualan per customer
  • Laporan Mutasi Stok - Pergerakan stok per produk
  • Export CSV - Semua laporan bisa di-export ke CSV

Manajemen Pengguna & Keamanan

  • Role & Permission - RBAC dengan 6 role default
  • User Management - CRUD user + assign role
  • Setting Toko - Konfigurasi nama, alamat, logo, dll

Teknologi

Teknologi Versi Kegunaan
PHP 8.2+ Backend
Laravel 11.x Framework
Alpine.js 3.x UI Interaktivitas
Tailwind CSS 3.x Styling
MySQL / PostgreSQL - Database
Lucide Icons - Icons

Persyaratan Sistem

  • PHP 8.2 atau lebih tinggi
  • Composer
  • Node.js & NPM (untuk asset)
  • MySQL 5.7+ / PostgreSQL 10+ / SQLite
  • Web Server (Apache / Nginx)

Instalasi

1. Clone Repository

git clone https://github.com/mseptiawan/inventaris.git
cd inventaris

2. Install Dependencies

composer install
npm install

3. Environment Configuration

cp .env.example .env
php artisan key:generate

4. Database Configuration

Edit file .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=inventaris_db
DB_USERNAME=root
DB_PASSWORD=

5. Migration & Seeder

php artisan migrate
php artisan db:seed --class=RolePermissionSeeder

6. Build Assets

npm run build

7. Jalankan Server

php artisan serve

Akses: http://localhost:8000


Konfigurasi

Default Login

User pertama otomatis mendapat role Super Admin.

Permission Seeder

Jalankan seeder untuk setup role & permission:

php artisan db:seed --class=RolePermissionSeeder

Database

Struktur Tabel Utama

Tabel Deskripsi
products Data produk (nama, SKU, barcode, harga, stok)
categories Kategori produk
units Satuan produk
suppliers Data pemasok
customers Data pelanggan
stock_mutations Riwayat mutasi stok
stock_opnames Riwayat stock opname
transactions Transaksi penjualan/pembelian
transaction_items Detail item transaksi
users Data pengguna
roles Role pengguna
permissions Permission akses
role_permission Pivot role-permission
user_role Pivot user-role

Role & Permission

Daftar Role

Role Deskripsi
Super Admin Akses penuh semua fitur
Admin Kelola produk, kategori, supplier, customer, transaksi
Staff Gudang Input stok masuk/keluar, cek stok, opname
Kasir Transaksi penjualan, cetak invoice
Manager Lihat laporan, dashboard, analisis
Viewer Hanya baca (tidak bisa edit)

Assign Permission ke Role

Permission Super Admin Admin Warehouse Cashier Manager Viewer
view-dashboard ✓ ✓ ✓ ✓ ✓ ✓
view-reports ✓ ✓
view-stock-mutations ✓ ✓ ✓ ✓
create-stock-in ✓ ✓ ✓
create-stock-out ✓ ✓ ✓
view-stock-opname ✓ ✓ ✓ ✓
create-stock-opname ✓ ✓ ✓
view-transactions ✓ ✓ ✓
create-transactions ✓ ✓ ✓
view-products ✓ ✓ ✓ ✓ ✓ ✓
create-products ✓ ✓ ✓
edit-products ✓ ✓ ✓
delete-products ✓ ✓
view-customers ✓ ✓ ✓ ✓
view-suppliers ✓ ✓ ✓ ✓
create-suppliers ✓ ✓ ✓
view-categories ✓ ✓ ✓ ✓
view-units ✓ ✓ ✓ ✓
view-roles ✓
assign-user-role ✓
assign-role-permission ✓
view-company-settings ✓ ✓
edit-company-settings ✓

Fitur Spesifik

Stock Opname

Alur:

  1. Petugas input nomor opname dan pilih produk
  2. Sistem tampilkan stok sistem (system_stock)
  3. Petugas input stok fisik hasil hitung manual
  4. Sistem hitung selisih (physical - system)
  5. Petugas beri alasan (pecah/hilang/kadaluarsa) & catatan
  6. Stok produk otomatis diperbarui sesuai stok fisik
  7. Riwayat opname tersimpan untuk audit

Endpoint:

GET    /stock-opnames              - Daftar riwayat opname
GET    /stock-opnames/create       - Form input opname
POST   /stock-opnames              - Simpan opname
GET    /stock-opnames/{id}         - Detail opname
GET    /stock-opnames/{id}/edit    - Edit opname
PUT    /stock-opnames/{id}         - Update opname
DELETE /stock-opnames/{id}         - Hapus opname

Mutasi Stok

Setiap perubahan stok (masuk/keluar/opname) otomatis tercatat di tabel stock_mutations dengan:

  • reference_number - Nomor referensi
  • product_id - ID produk
  • type - in / out / adjustment
  • quantity - Jumlah
  • notes - Catatan
  • user_id - Petugas

Struktur Menu

Dashboard

  • Dashboard

Master Data

  • Produk
    • Daftar Produk
    • Tambah Produk
  • Pelanggan
    • Daftar Pelanggan
  • Supplier
    • Daftar Supplier
    • Tambah Supplier
  • Atribut Produk
    • Kategori
    • Satuan (Unit)

Operasional Gudang

  • Mutasi Stok
    • Stok Masuk
    • Stok Keluar
    • Riwayat Mutasi
  • Stock Opname
    • Input Audit Opname
    • Riwayat Opname

Penjualan & Kasir

  • Penjualan
    • Kasir (POS)
    • Riwayat Transaksi

Laporan

  • Laporan Stok
  • Laporan Transaksi
  • Laporan Laba / Profit
  • Laporan Supplier
  • Laporan Customer
  • Laporan Mutasi Stok

Pengaturan

  • Role & Akses
    • Daftar Role
    • Role User
    • Hak Akses Role
  • Setting
    • Pengaturan Toko

Kontribusi

  1. Fork repository
  2. Buat branch fitur (git checkout -b fitur-baru)
  3. Commit perubahan (git commit -m 'Menambahkan fitur')
  4. Push ke branch (git push origin fitur-baru)
  5. Buat Pull Request

Coding Standard

  • Ikuti PSR-12 untuk PHP
  • Gunakan Tailwind CSS untuk styling
  • Gunakan Alpine.js untuk interaktivitas frontend

Kontak


About

Sistem manajemen inventaris berbasis web untuk mengelola produk, stok, transaksi penjualan, supplier, customer, stock opname, laporan, dan kontrol akses pengguna berbasis role & permission.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages