How muhammadsyaiful2601/peminjaman works
Sistem peminjaman barang untuk petugas kampus: petugas mengelola inventaris dan data peminjam, membuat transaksi multi-barang, lalu memproses pengembalian atau menghasilkan dokumen/laporan. React menyediakan antarmuka untuk website maupun desktop; Laravel API menerapkan aturan transaksi dan mengirim bukti email. Desktop juga dapat mencerminkan data SQLite ke MySQL hosting. Beberapa subsystem besar—termasuk endpoint dan integrasi yang tidak tercakup dalam cuplikan—ditampilkan berdasarkan README dan struktur file; wiring yang tidak dapat dipastikan tidak diperinci.
Main entry points: api.php Rute REST API · App.jsx Aplikasi React · axios.js Klien API · Loan.php Model Domain
Components 26
Antarmuka Petugas
- Aplikasi React
frontend/src/App.jsx - Inventaris
frontend/src/pages/Items.jsx - Peminjaman
frontend/src/pages/NewLoan.jsx - Pengembalian dan Scan
frontend/src/pages/ScanQR.jsx - Laporan Resmi
frontend/src/pages/Reports.jsx - Data dan Pengaturan
frontend/src/pages/SystemSettings.jsx - Klien API
frontend/src/api/axios.js
Operasi Peminjaman
- API Transaksi
backend/app/Http/Controllers/Api/LoanController.php - Surat Clearance
backend/app/Http/Controllers/Api/ClearanceController.php - Data Mahasiswa
backend/app/Http/Controllers/Api/StudentController.php - Data Teknisi
backend/app/Http/Controllers/Api/TechnicianController.php
API dan Dokumen
- Rute REST API
backend/routes/api.php - API Inventaris
backend/app/Http/Controllers/Api/ItemController.php - Model Domain
backend/app/Models/Loan.php - Database Aplikasi
backend/config/database.php - Template PDF
backend/resources/views/pdf/loan-qr.blade.php - Email Bukti
backend/app/Mail/LoanQrCode.php
Mode Hybrid
- Pengaturan Hybrid
frontend/src/components/HybridSettings.jsx - API Hybrid
backend/app/Http/Controllers/Api/HybridController.php - Sinkronisasi Dua Arah
backend/app/Services/HybridSyncService.php - MySQL Hosting
- Aplikasi Desktop
desktop/main.js - Router Desktop
backend/desktop-router.php
Other components
- Petugas
- Peminjam
- Layanan Email
Connections 37
- Petugas → Aplikasi React: menggunakan
- Aplikasi React → Inventaris: menampilkan
- Aplikasi React → Peminjaman: menampilkan
- Aplikasi React → Pengembalian dan Scan: menampilkan
- Aplikasi React → Laporan Resmi: menampilkan
- Aplikasi React → Data dan Pengaturan: menampilkan
- Inventaris → Klien API: meminta data
- Peminjaman → Klien API: mengirim transaksi
- Pengembalian dan Scan → Klien API: memproses retur
- Laporan Resmi → Klien API: meminta laporan
- Data dan Pengaturan → Klien API: mengelola data
- Klien API → Rute REST API: mengirim permintaan
- Rute REST API → API Inventaris: meneruskan inventaris
- Rute REST API → API Transaksi: meneruskan transaksi
- Rute REST API → Surat Clearance: meneruskan clearance
- Rute REST API → Data Mahasiswa: meneruskan mahasiswa
- Rute REST API → Data Teknisi: meneruskan teknisi
- API Inventaris → Model Domain: membaca dan mengubah
- API Transaksi → Model Domain: membaca dan mengubah
- Surat Clearance → Model Domain: membaca
- Data Mahasiswa → Model Domain: mengelola mahasiswa
- Data Teknisi → Model Domain: mengelola teknisi
- Model Domain → Database Aplikasi: membaca dan menulis
- API Transaksi → Template PDF: merender PDF
- API Transaksi → Email Bukti: mengirim bukti
- Email Bukti → Template PDF: menyertakan PDF
- Email Bukti → Layanan Email: mengirim email
- Layanan Email → Peminjam: mengantarkan bukti
- Surat Clearance → Template PDF: menghasilkan surat
- Pengaturan Hybrid → Klien API: mengirim pengaturan
- Rute REST API → API Hybrid: meneruskan hybrid
- API Hybrid → Sinkronisasi Dua Arah: meminta sinkronisasi
- Sinkronisasi Dua Arah → Database Aplikasi: membaca dan menulis
- Sinkronisasi Dua Arah → MySQL Hosting: membaca dan menulis
- Aplikasi Desktop → Router Desktop: menjalankan aplikasi
- Router Desktop → Rute REST API: meneruskan API
- Router Desktop → Aplikasi React: menyajikan SPA