Web Application
Year 3 (2026-2027)
Cash Loan Management System (Laravel Web Application)
Note: Source code ZIPs & GitHub links are protected. Please sign in to download source code.
Video Presentation & Short Movie Walkthrough
HD Video PlayerProject Overview
The Cash Loan Management System is an enterprise-grade financial web application built using Laravel 11, Blade Templating, and MySQL. Designed to automate retail cash-lending and microfinance branch workflows, the system streamlines the full credit lifecycle from borrower onboarding and credit risk assessment to capital disbursement, installment calculation, repayment collections, and overdue account monitoring.
Architectural & Engineering Foundation:
• MVC Architecture & Separation of Concerns: Strict Model-View-Controller pattern separating business logic, mathematical calculations, and presentation layers.
• Role-Based Access Control (RBAC): Session-based authentication via Laravel Breeze expanded into 4 segregated roles (System Admin, Loan Officer, Cashier, and Borrower) enforced through custom CheckRole middleware and model-level authorization policies (LoanPolicy).
• Financial Data Integrity & Atomic Transactions: Employs strict DECIMAL(12,2) database precision, relational foreign key constraints with audit-trail preservation (nullOnDelete), and DB::transaction() boundaries ensuring all financial state changes and receipt creations happen atomically.
• Reducing Balance Financial Engine: Implements a dedicated Amortization Service calculating exact monthly principal, declining interest portions, and calendar payment dates, with automated rounding adjustments on the final installment.
• Custom Corporate Slate Design System: Styled with modular, custom CSS stylesheets (form.css, index.css, show.css, dashboard.css, auth.css) and scalable vector Bootstrap Icons, providing a consistent, responsive banking user experience without unstyled layout dependencies.
Architectural & Engineering Foundation:
• MVC Architecture & Separation of Concerns: Strict Model-View-Controller pattern separating business logic, mathematical calculations, and presentation layers.
• Role-Based Access Control (RBAC): Session-based authentication via Laravel Breeze expanded into 4 segregated roles (System Admin, Loan Officer, Cashier, and Borrower) enforced through custom CheckRole middleware and model-level authorization policies (LoanPolicy).
• Financial Data Integrity & Atomic Transactions: Employs strict DECIMAL(12,2) database precision, relational foreign key constraints with audit-trail preservation (nullOnDelete), and DB::transaction() boundaries ensuring all financial state changes and receipt creations happen atomically.
• Reducing Balance Financial Engine: Implements a dedicated Amortization Service calculating exact monthly principal, declining interest portions, and calendar payment dates, with automated rounding adjustments on the final installment.
• Custom Corporate Slate Design System: Styled with modular, custom CSS stylesheets (form.css, index.css, show.css, dashboard.css, auth.css) and scalable vector Bootstrap Icons, providing a consistent, responsive banking user experience without unstyled layout dependencies.
Key System Features & Functionalities
1. Multi-Role Authentication & Access Control (RBAC):
• 4 discrete user roles: Admin, Loan Officer, Cashier, and Customer.
• Fine-grained route authorization using custom CheckRole middleware and LoanPolicy methods.
• Multi-tenant customer data isolation ensuring borrowers only access their personal loan contracts and schedules.
• Self-service borrower onboarding via an upgraded registration portal that creates both login credentials and banking customer profiles simultaneously.
2. Loan Application & Credit Approval Pipeline:
• Dual-mode loan application supporting online borrower self-service (auto-locked identity) and walk-in branch applications (staff client selection).
• Credit risk evaluation queue for Loan Officers with secure non-AJAX POST approval actions.
• Server-side double-disbursement defense powered by a dedicated Form Request (DisburseLoanRequest) to prevent duplicate payouts.
3. Reducing Balance Amortization Math Engine:
• Automated generation of multi-month repayment schedules using the standard reducing balance formula: PMT = P * [r(1+r)^n] / [(1+r)^n - 1].
• Real-time breakdown of monthly principal, monthly interest, and due dates across the loan term.
• Automated overdue scanner (Artisan command: loans:check-overdue) that detects past-due installments and applies red status badges.
4. Cashier Repayment & Smart Overpayment Rollover:
• Atomic payment collection using DB::transaction() to record cashier receipts and update installment statuses to 'Paid'.
• Automated Overpayment Rollover Engine: Excess payment amounts beyond the current installment automatically roll over to pay down subsequent installments in chronological order.
• Master Account Statement view (loans/show.blade.php) displaying live remaining balances, total repayments collected, and receipt histories.
5. Analytics, Monitoring & System Administration:
• Executive Dashboard featuring real-time SQL aggregate metrics (Total Cash Disbursed, Total Collected, Pending Approvals, and Overdue counts).
• Admin Overdue Dashboard with search filtering, days-late tracking, and paginated monitoring.
• Full User Management CRUD allowing administrators to manage staff accounts and roles, equipped with active-debt deletion safeguards.
6. Quality Assurance & Automated Testing:
• Unit Test Suite (LoanAmortizationTest) mathematically verifying that the sum of all monthly principal installments equals the original borrowed principal.
• Feature Test Suite (LoanAuthorizationTest) ensuring unauthorized roles receive 403 Forbidden responses on administrative endpoints.
• 4 discrete user roles: Admin, Loan Officer, Cashier, and Customer.
• Fine-grained route authorization using custom CheckRole middleware and LoanPolicy methods.
• Multi-tenant customer data isolation ensuring borrowers only access their personal loan contracts and schedules.
• Self-service borrower onboarding via an upgraded registration portal that creates both login credentials and banking customer profiles simultaneously.
2. Loan Application & Credit Approval Pipeline:
• Dual-mode loan application supporting online borrower self-service (auto-locked identity) and walk-in branch applications (staff client selection).
• Credit risk evaluation queue for Loan Officers with secure non-AJAX POST approval actions.
• Server-side double-disbursement defense powered by a dedicated Form Request (DisburseLoanRequest) to prevent duplicate payouts.
3. Reducing Balance Amortization Math Engine:
• Automated generation of multi-month repayment schedules using the standard reducing balance formula: PMT = P * [r(1+r)^n] / [(1+r)^n - 1].
• Real-time breakdown of monthly principal, monthly interest, and due dates across the loan term.
• Automated overdue scanner (Artisan command: loans:check-overdue) that detects past-due installments and applies red status badges.
4. Cashier Repayment & Smart Overpayment Rollover:
• Atomic payment collection using DB::transaction() to record cashier receipts and update installment statuses to 'Paid'.
• Automated Overpayment Rollover Engine: Excess payment amounts beyond the current installment automatically roll over to pay down subsequent installments in chronological order.
• Master Account Statement view (loans/show.blade.php) displaying live remaining balances, total repayments collected, and receipt histories.
5. Analytics, Monitoring & System Administration:
• Executive Dashboard featuring real-time SQL aggregate metrics (Total Cash Disbursed, Total Collected, Pending Approvals, and Overdue counts).
• Admin Overdue Dashboard with search filtering, days-late tracking, and paginated monitoring.
• Full User Management CRUD allowing administrators to manage staff accounts and roles, equipped with active-debt deletion safeguards.
6. Quality Assurance & Automated Testing:
• Unit Test Suite (LoanAmortizationTest) mathematically verifying that the sum of all monthly principal installments equals the original borrowed principal.
• Feature Test Suite (LoanAuthorizationTest) ensuring unauthorized roles receive 403 Forbidden responses on administrative endpoints.
Ratings & Feedback
Project Ratings & Reviews
Ratings and feedback from students, faculty supervisors, and visitors.
0
out of 5 stars
Based on 0 reviews
Want to rate or review this project?
Please log in with your Student or Lecturer account to leave star ratings and comments.
Reviews & Feedback (0)
No reviews published yet for this project. Be the first to rate it!
Academic Meta
Lecturer:
Mr. Mon Minh
Subject:
Web Application Development
Degree:
Bachelor of Science in Information Technology
Semester & Year:
Year 3 (2026-2027)