How nirvanaguys/sdn027_web_perpus works
This is a decoupled library-management application: members and administrators use a Vue interface backed by a Laravel REST API. The main workflow covers account access, book discovery and administration, then borrowing, returning, and viewing loan history. Sampled controllers show the API’s model and transaction behavior; README capabilities fill in the broader product scope. Frontend-to-controller page wiring and API route dispatch are not established by the sampled source, so those links are not asserted.
Main entry points: Book.php Book model · TransactionController.php Loan endpoints · App.vue Application shell · AuthController.php Authentication
Components 15
Vue interface
- Application shell
library-frontend/src/App.vue - Page router
library-frontend/src/router/index.js - Book catalog
library-frontend/src/views/BookCatalog.vue - Login
library-frontend/src/views/Login.vue - My loans
library-frontend/src/views/MyLoans.vue - Admin dashboard
library-frontend/src/views/AdminDashboard.vue - API client
library-frontend/src/services/api.js
Laravel API
- Authentication
library-api/app/Http/Controllers/Api/AuthController.php - Book endpoints
library-api/app/Http/Controllers/Api/BookController.php - Loan endpoints
library-api/app/Http/Controllers/Api/TransactionController.php
Library domain
- User model
library-api/app/Models/User.php - Book model
library-api/app/Models/Book.php - Transaction model
library-api/app/Models/Transaction.php
Persistence
- Application database
Other components
- Members and admins
Connections 10
- Members and admins → Application shell: uses
- Application shell → Page router: renders routes
- API client → Authentication: HTTP API
- Authentication → User model: creates and checks
- Book endpoints → Book model: queries and updates
- Loan endpoints → Book model: locks and adjusts stock
- Loan endpoints → Transaction model: creates and updates
- User model → Application database: persists
- Book model → Application database: persists
- Transaction model → Application database: persists