Sistem Inventaris Rayyan Medical
Aplikasi web manajemen inventaris komprehensif untuk Rayyan Medical untuk melacak pasokan dan peralatan medis secara real-time
Bagikan proyek ini:
Tentang Proyek
Sistem Manajemen Inventaris Rayyan Medical
Sistem manajemen inventaris berbasis web komprehensif yang dikembangkan khusus untuk Rayyan Medical, sebuah toko peralatan medis. Aplikasi ini menyediakan pelacakan digital real-time untuk pasokan dan peralatan medis, memungkinkan manajemen stok yang efisien dan pengawasan operasional.
📋 Ringkasan
Sistem Inventaris Rayyan Medical adalah solusi lengkap untuk mengelola inventaris peralatan medis. Dibangun sebagai proyek akhir untuk sertifikasi industri, aplikasi ini menjawab kebutuhan dunia nyata Rayyan Medical dengan menyediakan sistem pelacakan inventaris digital real-time yang menyederhanakan operasi manajemen stok.
🎯 Pernyataan Masalah
Toko peralatan medis seperti Rayyan Medical menghadapi tantangan kritis dalam manajemen inventaris:
- Pelacakan Stok: Kesulitan memantau tingkat stok di berbagai kategori produk.
- Deteksi Kekurangan: Keterlambatan kesadaran akan stok rendah atau barang habis.
- Masalah Stok Berlebih: Ketidakmampuan untuk mengidentifikasi kelebihan inventaris secara real-time.
- Proses Manual: Pemeriksaan inventaris manual yang memakan waktu.
- Pembaruan Real-time: Kebutuhan akan visibilitas instan ke tingkat stok saat ini.
Aplikasi ini dibuat untuk merampungkan tantangan tersebut dengan menyediakan sistem manajemen inventaris digital yang otomatis.
✨ Fitur Utama
Untuk Karyawan/Staf
- Ikhtisar Dashboard: Statistik inventaris real-time dan peringatan (alerts).
- Manajemen Stok: Melihat tingkat stok saat ini untuk semua produk.
- Peringatan Stok Rendah: Notifikasi otomatis untuk item di bawah ambang batas.
- Pencarian Produk: Fungsionalitas pencarian dan filter cepat.
- Laporan Stok: Menghasilkan laporan inventaris berdasarkan kategori atau rentang tanggal.
- Riwayat Transaksi: Melacak semua pergerakan inventaris.
Untuk Administrator
-
Operasi CRUD Lengkap:
- Menambah peralatan medis baru ke inventaris.
- Memperbarui informasi produk dan tingkat stok.
- Menghapus item yang sudah tidak diproduksi.
- Kemampuan impor/ekspor massal.
-
Manajemen Kategori:
- Mengatur produk berdasarkan kategori peralatan medis.
- Mengelola spesifikasi produk.
- Menetapkan titik pemesanan ulang (reorder points).
-
Manajemen Pengguna:
- Membuat dan mengelola akun staf.
- Menetapkan izin berbasis peran (role-based permissions).
- Melacak aktivitas pengguna.
-
Alat Pelaporan:
- Laporan valuasi stok.
- Riwayat pergerakan.
- Peramalan (forecasting) dan analitik.
🛠️ Teknologi yang Digunakan
| Teknologi | Tujuan |
|---|---|
| Laravel 8 | Framework backend PHP |
| PHP 8.0 | Bahasa pemrograman sisi server |
| MySQL | Database relasional |
| Bootstrap | Framework UI responsif |
| jQuery | Interaksi JavaScript |
| Chart.js | Visualisasi data |
| Webpack Mix | Kompilasi aset |
📁 Struktur Proyek
inventory-rayyan-medical/
├── app/
│ ├── Http/Controllers/ # Logika aplikasi
│ ├── Models/ # Model database
│ └── Requests/ # Validasi formulir
├── database/
│ ├── migrations/ # Skema database
│ └── seeders/ # Data sampel
├── resources/
│ ├── views/ # Template Blade
│ └── assets/ # File CSS, JS
├── public/
│ └── images/ # Gambar produk
└── routes/
└── web.php # Rute aplikasi
🚀 Memulai
Prasyarat
- PHP 8.0 atau lebih tinggi.
- Composer (versi terbaru).
- MySQL 5.7+ atau MariaDB.
- XAMPP, WAMPP, atau server lokal serupa.
- PHP MyAdmin (opsional, untuk manajemen database).
Langkah Instalasi
-
Clone Repositori
git clone <repository-url> cd inventory-rayyan-medical -
Install Dependensi
composer install npm install -
Konfigurasi Lingkungan
cp .env.example .env php artisan key:generate -
Konfigurasi Database
Edit file
.env:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=db_inventory DB_USERNAME=root DB_PASSWORD=password_anda -
Buat Database
- Buka PHPMyAdmin.
- Buat database baru bernama
db_inventory.
-
Jalankan Migrasi dan Seeder
php artisan migrate:fresh --seed -
Buat Tautan Storage
php artisan storage:link -
Kompilasi Aset
npm run dev -
Jalankan Server Pengembangan
php artisan serve -
Akses Aplikasi
- Buka browser:
http://127.0.0.1:8000 - URL Login:
http://127.0.0.1:8000/login
- Buka browser:
💻 Panduan Penggunaan
Masuk Log (Login)
- Navigasi ke halaman login.
- Masukkan kredensial:
- Akun Admin:
- Email: admin@rayyanmedical.com
- Password: (diatur saat seeding)
- Akun Staf:
- Email: staff@rayyanmedical.com
- Password: (diatur saat seeding)
- Akun Admin:
Mengelola Inventaris
Menambah Item Baru
- Navigasi ke bagian "Products".
- Klik "Add New Product".
- Isi detail produk:
- Nama produk
- Kategori
- SKU/Kode produk
- Jumlah stok
- Harga satuan
- Deskripsi
- Gambar produk
- Tetapkan reorder point (tingkat stok minimum).
- Klik "Save".
Memperbarui Stok
- Buka dashboard "Inventory".
- Cari produk.
- Klik "Update Stock".
- Masukkan jumlah baru (tambah atau kurang).
- Tambahkan catatan transaksi.
- Sistem secara otomatis mencatat waktu dan pengguna.
Memeriksa Tingkat Stok
- Lihat dashboard untuk ikhtisar real-time.
- Periksa bagian peringatan "Low Stock".
- Gunakan pencarian/filter untuk menemukan item tertentu.
- Ekspor laporan stok sesuai kebutuhan.
Menghasilkan Laporan
- Navigasi ke bagian "Reports".
- Pilih jenis laporan:
- Tingkat stok saat ini
- Pergerakan stok
- Item stok rendah
- Valuasi stok
- Pilih rentang tanggal.
- Pilih format (PDF, Excel, Cetak).
- Hasilkan dan unduh/cetak.
🔧 Konfigurasi
Ambang Batas Peringatan Stok
Konfigurasi di config/inventory.php:
return [
'low_stock_threshold' => 10, // Peringatan saat stok <= 10
'critical_stock_threshold' => 5, // Kritis saat stok <= 5
];
Setup Kategori
Kategori dapat dikelola melalui panel admin atau database seeder.
🎨 Fitur UI/UX
- Desain Responsif: Berjalan di desktop, tablet, dan ponsel.
- Antarmuka Bersih: Dashboard yang mudah dinavigasi.
- Pembaruan Real-time: Pembaruan tingkat stok instan.
- Indikator Visual: Kode warna tingkat stok (hijau: memadai, kuning: rendah, merah: kritis).
- Cari & Filter: Pencarian produk cepat.
- Data Tables: Daftar produk yang dapat diurutkan dan dipaginasi.
📊 Skema Database
Tabel utama:
products- Informasi produk.categories- Kategori produk.stock_transactions- Riwayat pergerakan stok.users- Pengguna sistem.roles- Peran dan izin pengguna.
🔒 Fitur Keamanan
- Sistem autentikasi Laravel.
- Kontrol akses berbasis peran (RBAC).
- Perlindungan CSRF.
- Pencegahan injeksi SQL.
- Perlindungan XSS.
- Hashing kata sandi yang aman.
🐛 Pemecahan Masalah
Masalah Umum
-
Kesalahan Koneksi Database
- Verifikasi MySQL sudah berjalan.
- Periksa kredensial
.env. - Pastikan database sudah dibuat.
-
Storage Link Hilang
- Jalankan:
php artisan storage:link
- Jalankan:
-
Izin Ditolak (Permission Denied)
- Atur izin yang benar:
chmod -R 775 storage bootstrap/cache -
Aset Tidak Terpemuat
- Jalankan:
npm run devataunpm run build - Bersihkan cache:
php artisan cache:clear
- Jalankan:
🚀 Peningkatan Masa Depan
Potensi perbaikan:
- Integrasi pemindaian barcode.
- Pesanan pembelian otomatis.
- Modul manajemen pemasok.
- Notifikasi email untuk stok rendah.
- Aplikasi seluler.
- Analitik dan peramalan tingkat lanjut.
- Dukungan multi-gudang.
📝 Proses Pengembangan
Tantangan yang Dihadapi
- Pengumpulan Kebutuhan: Melakukan riset mendalam dan wawancara klien.
- Desain UI/UX: Menciptakan antarmuka yang intuitif bagi staf medis.
Solusi yang Diimplementasikan
- Kolaborasi Klien: Wawancara rutin dengan pemangku kepentingan Rayyan Medical.
- Pendekatan Design-First: Membuat mockup dan prototipe untuk persetujuan klien sebelum pengkodean.
- Pengembangan Iteratif: Mengimplementasikan loop umpan balik untuk perbaikan berkelanjutan.
🤝 Kontribusi
Proyek ini dikembangkan untuk pengumpulan proyek akhir Rayyan Medical. Saran dan perbaikan sangat diharapkan!
📄 Lisensi
Proyek ini milik pribadi Rayyan Medical. Gunakan hanya untuk referensi pendidikan.
📞 Kontak
Untuk pertanyaan, saran, atau koreksi, silakan hubungi melalui email yang tersedia di portofolio saya.
Dibangun untuk Rayyan Medical 🏥
Proyek Akhir Sertifikasi Industri 2022
Terima kasih! 🔥
Terima kasih telah memeriksa proyek ini. Semoga bermanfaat! ❤️