- PHP >= 8.2
The Loan Management software is a web-based application that helps manage and track loans efficiently. It provides features to streamline the loan application process, automate loan approvals, and monitor loan repayments. This README file provides an overview of the software and instructions for installation, configuration, and usage.
- Beautiful, User-friendly interface for managing loans, borrowers, and lenders
- Add different types of loans, their percentage and interest cycle
- Add different types of wallets accounts such as expense wallet including expense categories for business expenses and loan wallet for loans payouts.
- Transfer funds from one wallet to the other e.g from loans wallet to the expense wallet
- Show all transactions history
- Loan application form with customizable fields to collect borrowers information and add borrower files.
- Automated loan approval process with customizable criteria and decision workflows.
- Loan repayment tracking and reminders for borrowers.
- Detailed loan reports and analytics for monitoring loan portfolios.
- Role-based access control to manage user permissions.
- Integration with external systems such as payment gateways and credit scoring services.
- Receive loan agreement forms via email once the loan is approved automatically and compile the loan settlement form once the loan is settled
- View and Export Active Loans, Denied Loans, Pending Loans and Defaulted Loans
- Update Payments for loans
- Assign roles, assign permissions, revoke roles Etc
- Double-Entry Accounting with Chart of Accounts, Journal Entries, General Ledger, Trial Balance, Statement of Financial Position, Statement of Comprehensive Income, and Cash Flow Statement
- Bank / Cash Account management linked to the Chart of Accounts — every wallet transaction auto-posts balanced journal entries
- Granular permission control via FilamentShield — every module including accounting reports is role/permission-gated
- EMAIL: demo@demo.com
- PASSWORD: qwertyuiop
Please follow carefully the installation and use of this web framework of the Loan Management System for better utilization of it. Do not skip any stage.
git clone https://github.com/chandachewe10/loan-management-system.git
cd loan-management-system
composer install
cp .env.example .env # Windows: copy .env.example .envSet your database credentials and app settings in .env, then:
php artisan key:generate
php artisan migrate
php artisan db:seed --class=ChartOfAccountsSeederInstall Shield for roles and permissions:
php artisan shield:install
php artisan shield:generate --allCreate a super-admin user (follow the prompts):
php artisan shield:super-adminLink existing wallets to Chart of Accounts (run once after seeding):
php artisan db:seed --class=LinkExistingWalletsSeederStart your Application:
php artisan serveSet up email notifications using Mailtrap. Copy the mail credentials for your Laravel app from Mailtrap and update the corresponding settings in your .env file.
Run these commands in order every time you deploy to the production server:
# 1. Pull latest code
git pull origin main
# 2. Install / update PHP dependencies (no dev packages)
composer install --no-dev --optimize-autoloader
# 3. Run any new database migrations
php artisan migrate --force
# 4. Seed the Chart of Accounts (safe to run multiple times — skips existing records)
php artisan db:seed --class=ChartOfAccountsSeeder --force
# 5. Link any unlinked wallets to Chart of Accounts
php artisan db:seed --class=LinkExistingWalletsSeeder --force
# 6. Regenerate Shield permissions for any new pages/resources added
php artisan shield:generate --all
# 7. Seed custom page permissions (accounting reports not auto-detected by Shield)
php artisan db:seed --class=PagePermissionsSeeder --force
# 8. Clear and re-cache everything for performance
php artisan optimize:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache
# 9. Reset the permission cache
php artisan permission:cache-resetRun these once when setting up a brand-new production server:
php artisan key:generate
php artisan storage:link
php artisan shield:install
php artisan shield:super-adminIf you run queues (e.g. for notifications/emails), restart the worker after every deployment:
php artisan queue:restartNote: Always back up your database before running
php artisan migrate --forcein production.
Contributions to the Loan Management software are welcome! If you have suggestions, bug reports, or feature requests, please submit an issue or a pull request on the GitHub repository.
The Loan Management software source code is publicly available but is licensed under the Proprietary License Agreement attached in this repo. Modifications, enhancements and improvements are allowed, but redistribution and commercial use require written consent from MACROIT INFORMATION TECHNOLOGY