Skip to content

A Spring Boot-based RESTful web service for managing loan information.

Notifications You must be signed in to change notification settings

seyidalitunjay/LoanManagementSystem

Repository files navigation

Loan Management System

A backend service for banks or financial institutions to manage loan applications digitally. This system automatically tracks loan statuses and expires applications that aren't processed within 7 days.

What This Project Does

A bank that receives hundreds of loan applications daily. This system:

  • Lets customers submit applications online
  • Allows loan officers to review and approve/reject applications
  • Automatically marks stale applications as "Expired"
  • Provides real-time status updates through an API
  • Logs all actions for security and auditing

📌 How It Helps

For Banks: Reduces manual work and paperwork
For Customers: Instant application tracking
For Developers: Easy-to-use API with clear documentation

🚀 Quick Start

git clone https://github.com/seyidalitunjay/LoanManagementSystem.git
cd LoanManagementSystem
./mvnw spring-boot:run

🛠️ Tech Stack

Core Framework
Spring Boot REST API

Language & Tools
Java Lombok Maven

Database
H2 Spring Data JPA

Testing
JUnit5 Mockito

Monitoring & Logging
SLF4J Interceptors

Features
✔ Automated Scheduling
✔ Exception Handling
✔ Postman Tested

📚 API Documentation

Endpoint Method Description
/api/loans POST Create new loan
/api/loans/{id} GET Get loan by ID

POSTMAN TEST CASES:

Screenshot 2025-06-23 at 11 05 57 Screenshot 2025-06-23 at 11 06 49 Screenshot 2025-06-23 at 11 07 08 Screenshot 2025-06-23 at 11 21 27

📬 Postman Integration Testing

Make sure your server is running at http://localhost:8080

  • 👉 [Download Postman Collection]

Uploading Lo{ "info": { "_postman_id": "d9045a37-03c3-470e-9910-e950c4b2f40a", "name": "Loan Management Integration Tests", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "45868998" }, "item": [ { "name": "Create a new loan", "request": { "method": "GET", "header": [] }, "response": [] }, { "name": "Get all loans", "request": { "method": "GET", "header": [] }, "response": [] }, { "name": "Get loan by ID", "request": { "method": "GET", "header": [] }, "response": [] }, { "name": "Update loan status", "request": { "method": "GET", "header": [] }, "response": [] } ] }anMS_Postman_Collection.json…

  • 🌍 [Download Postman Environment]

Uploading Lo{ "id": "70745108-69b1-4fad-a938-b08f32b133b5", "name": "LoanMS Local", "values": [ { "key": "loanId", "value": "", "type": "any", "enabled": true } ], "_postman_variable_scope": "environment", "_postman_exported_at": "2025-06-25T07:25:07.578Z", "_postman_exported_using": "Postman/11.51.3" }anMS_Environment.json…

Developed by @seyidalitunjay

For any inquiries: seyidalitunjay@gmail.com