A comprehensive web-based loan management and recovery system built with Node.js/Express backend and React 19 frontend.
- Multi-role System: Admin, Agent, and Customer roles
- JWT Authentication: Secure token-based authentication
- Loan Management: Applications, approvals, EMI calculations
- Payment System: EMI payments with progress tracking
- Recovery Management: Agent assignment and status tracking
- Real-time Notifications: Instant notifications for agents
- Reporting System: Admin-only reports and analytics
- Modern UI/UX: Responsive design with smooth animations
Backend: Node.js, Express.js, PostgreSQL, Sequelize ORM, JWT, Winston Frontend: React 19, Vite, CSS, Lottie animations
- Node.js 18+
- PostgreSQL 12+
- npm
-
Install PostgreSQL and create database:
CREATE DATABASE loan_recovery_system; CREATE USER loan_user WITH PASSWORD 'your_password'; GRANT ALL PRIVILEGES ON DATABASE loan_recovery_system TO loan_user;
-
Configure Environment:
Backend
.env:DB_HOST=localhost DB_PORT=5432 DB_NAME=loan_recovery_system DB_USER=loan_user DB_PASSWORD=your_password DB_DIALECT=postgresql JWT_SECRET=your_jwt_secret_key PORT=5000
Frontend
.env:VITE_API_URL=http://localhost:5000/api
-
Install & Run:
# Backend cd backend npm install npm run dev # Frontend (new terminal) cd frontend npm install npm run dev
-
Access Application:
- Frontend: http://localhost:5173
- Backend: http://localhost:5000
- Admin: Approve loans, assign agents, view reports
- Agent: Manage assigned loans, update recovery status
- Customer: Apply for loans, make payments, view history
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/loans- Get all loans (admin)POST /api/loans- Create loan applicationPATCH /api/loans/:id/assign-agent- Assign recovery agentGET /api/payments/loan/:id- Get loan paymentsPOST /api/payments- Create payment (customers only)GET /api/reports/*- Admin reportsGET /api/notifications- Get user notifications
Import the provided Postman collection (Loan_Recovery_System_API.postman_collection.json) for comprehensive API testing.
- Admin: admin@example.com / admin123
- Agent: agent@example.com / agent123
- Customer: customer@example.com / customer123
- Docker containerization
- Production deployment automation
- Application monitoring
- CI/CD integration
- Setup Guide - Detailed setup instructions
- Error Handling - Error handling documentation
- Submission Summary - Project overview
Built with β€οΈ using modern web technologies