Skip to content

habibiahmada/inventoryflow

Repository files navigation

InventoryFlow - Tool & Equipment Lending System

Sistem manajemen peminjaman alat dan peralatan terintegrasi untuk sekolah, laboratorium, atau organisasi lainnya. Dirancang untuk mempermudah pengelolaan stok, persetujuan peminjaman, dan pencatatan pengembalian dengan antarmuka yang intuitif dan responsif.

🚀 Fitur Utama

  • Stok Terpusat: Pantau ketersediaan barang secara real-time dengan dashboard yang jelas
  • Approval Cepat: Validasi peminjaman oleh admin/petugas hanya dengan satu klik
  • Riwayat & Notifikasi: Rekam jejak otomatis dan pengingat untuk barang yang dipinjam
  • Kondisi Barang: Catat kondisi barang saat kembali agar kerusakan cepat terdeteksi
  • Multi Kategori: Mendukung berbagai kategori alat (Elektronik, Olahraga, Lab, Kantor, dll)
  • Activity Log: Pencatatan lengkap setiap aktivitas dalam sistem

👥 Peran Pengguna

  • Admin: Kelola kategori, alat, pengguna, dan persetujuan peminjaman
  • Petugas: Validasi peminjaman, serahkan/terima barang, catat kondisi
  • Peminjam: Ajukan peminjaman, lihat riwayat, kelola barang yang dipinjam

🛠️ Tech Stack

  • Backend: Laravel 13 + PHP 8.3
  • Frontend: Tailwind CSS 3.1, Alpine.js 3.4, Vite
  • Database: SQLite (default) atau MySQL
  • Testing: PEST + Mockery
  • Build Tools: Laravel Vite Plugin, PostCSS

📋 Prasyarat

  • PHP 8.3+
  • Composer
  • Node.js & npm
  • Database (SQLite atau MySQL)

🔧 Instalasi

  1. Clone atau extract project:

    cd p1-peminjaman
  2. Jalankan setup script:

    composer run setup

    Script ini akan:

    • Install dependencies PHP
    • Copy .env.example.env
    • Generate APP_KEY
    • Migrasi database
    • Install dependencies Node.js
    • Build assets

▶️ Menjalankan Aplikasi

Development Mode

composer run dev

Ini menjalankan 3 proses secara bersamaan:

  • Laravel development server (port 8000)
  • Queue listener untuk background jobs
  • Vite dev server untuk hot-reload

Production Mode

npm run build
php artisan serve

🧪 Testing

Jalankan test dengan PEST:

composer test

📁 Struktur Project

app/
  ├── Http/Controllers/      # Route logic
  ├── Models/                # Eloquent models (User, Tool, Loan, dll)
  └── Support/               # Helper classes
database/
  ├── migrations/            # Schema migrations
  ├── seeders/               # Database seeders
  └── database.sql           # Database dump
resources/
  ├── css/                   # Tailwind styles
  ├── js/                    # Alpine.js components
  └── views/                 # Blade templates
routes/
  ├── web.php                # Web routes
  └── auth.php               # Auth routes
tests/
  ├── Feature/               # Feature tests
  └── Unit/                  # Unit tests

📊 Database Models

  • User - Pengguna sistem dengan role-based access
  • Category - Kategori alat
  • Tool - Data alat/peralatan
  • Loan - Pengajuan peminjaman
  • LoanDetail - Detail item dalam satu peminjaman
  • ReturnLoan - Pencatatan pengembalian barang
  • ActivityLog - Log semua aktivitas

🔐 Environment Setup

Edit .env:

APP_NAME="InventoryFlow"
APP_DEBUG=true
DB_CONNECTION=sqlite
# atau MySQL:
# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=peminjaman

📝 Catatan

  • Sistem menggunakan role-based authorization
  • Semua peminjaman harus disetujui sebelum barang diserahkan
  • Kondisi barang dicatat saat pengembalian untuk tracking kerusakan
  • Activity log mencatat setiap perubahan untuk audit trail

📄 Lisensi

MIT License

About

ukk

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages