How harlesshann/projek-peminjaman-alat works
This is a role-based equipment-loan application with both a Laravel web interface and a Sanctum REST API. The main workflow is borrower catalog browsing and loan submission, staff approval with stock reduction, then return processing with condition, lateness and stock updates; administrators also manage users, categories and equipment. Reporting and activity logs provide oversight. The graph preserves these stages and the documented management/reporting capabilities. Controller excerpts are partial, so uncertain controller-to-controller wiring is omitted.
Main entry points: api.php API routes · web.php Web routes · Peminjaman.php Loans and details · Alat.php Equipment
Components 25
Request and access
- Web routes
backend/routes/web.php - API routes
backend/routes/api.php - Web authentication
backend/app/Http/Controllers/AuthController.php - API authentication
backend/app/Http/Controllers/API/AuthController.php - Role checks
backend/app/Http/Middleware/CheckRole.php
Catalog and administration
- Admin operations
backend/app/Http/Controllers/AdminController.php - Catalog and user API
backend/app/Http/Controllers/API/AlatController.php - Category API
backend/app/Http/Controllers/API/KategoriController.php - User API
backend/app/Http/Controllers/API/UserController.php
Loan lifecycle
- Borrower web
backend/app/Http/Controllers/PeminjamController.php - Staff operations
backend/app/Http/Controllers/PetugasController.php - Loan API
backend/app/Http/Controllers/API/PeminjamanController.php - Return API
backend/app/Http/Controllers/API/PengembalianController.php
Reports and audit
- Loan reporting
backend/app/Http/Controllers/API/LaporanController.php - Activity logs
backend/app/Http/Controllers/API/LogAktivitasController.php
Domain data
- Loans and details
backend/app/Models/Peminjaman.php - Returns
backend/app/Models/Pengembalian.php - Equipment
backend/app/Models/Alat.php - Categories
backend/app/Models/Kategori.php - Users
backend/app/Models/User.php - Activity records
backend/app/Models/LogAktivitas.php - MySQL database
Other components
- Borrower
- Staff
- Administrator
Connections 47
- Borrower → Web routes: uses web
- Staff → Web routes: uses web
- Administrator → Web routes: uses web
- Borrower → API routes: calls API
- Staff → API routes: calls API
- Administrator → API routes: calls API
- Web routes → Web authentication: dispatches auth
- Web routes → Borrower web: dispatches
- Web routes → Staff operations: dispatches
- Web routes → Admin operations: dispatches
- API routes → API authentication: dispatches auth
- API routes → Loan API: dispatches
- API routes → Return API: dispatches
- API routes → Catalog and user API: dispatches
- API routes → Category API: dispatches
- API routes → User API: dispatches
- API routes → Loan reporting: dispatches reports
- API routes → Activity logs: dispatches logs
- Web routes → Role checks: checks roles
- API routes → Role checks: checks roles
- Borrower web → Loans and details: creates and reads
- Borrower web → Equipment: reads catalog
- Staff operations → Loans and details: approves loans
- Staff operations → Returns: records returns
- Staff operations → Equipment: adjusts stock
- Admin operations → Users: manages users
- Admin operations → Categories: manages categories
- Admin operations → Equipment: manages equipment
- Admin operations → Loans and details: manages loans
- Admin operations → Returns: manages returns
- Loan API → Loans and details: creates and reads
- Loan API → Equipment: checks stock
- Return API → Returns: records returns
- Return API → Loans and details: updates loan status
- Return API → Equipment: updates stock
- Catalog and user API → Equipment: manages equipment
- Category API → Categories: manages categories
- User API → Users: manages users
- Loan reporting → Loans and details: queries loans
- Loan reporting → Returns: queries returns
- Activity logs → Activity records: queries logs
- Loans and details → MySQL database: reads and writes
- Returns → MySQL database: reads and writes
- Equipment → MySQL database: reads and writes
- Categories → MySQL database: reads and writes
- Users → MySQL database: reads and writes
- Activity records → MySQL database: reads and writes