Introduction
Hello, developers! I’m excited to present my latest project: a Loan Calculator. This project is ideal for those interested in creating a practical and interactive loan calculator using JavaScript. It’s a fantastic way to learn about handling user inputs and performing financial calculations on the web.
Project Overview
The Loan Calculator is a web-based tool that calculates the monthly payment for a loan based on the loan amount, interest rate, and the number of months to repay. This project demonstrates how to build a financial tool with a clean and user-friendly interface using HTML, CSS, and JavaScript.
Features
Dynamic Calculation: Automatically calculates and displays the monthly payment based on user inputs.
User Input Handling: Allows users to enter and adjust the loan amount, interest rate, and repayment period.
Responsive Design: The calculator is styled to be visually appealing and functional across various devices.
Technologies Used
HTML: Provides the structure for the Loan Calculator.
CSS: Styles the calculator to ensure it is visually appealing and user-friendly.
JavaScript: Handles the logic for calculating the loan payment and updating the display based on user inputs.
Project Structure
Here’s an overview of the project structure:
Loan-Calculator/
├── index.html
├── style.css
└── script.js
index.html: Contains the HTML structure for the Loan Calculator.
style.css: Includes CSS styles to create a modern and responsive design.
script.js: Manages the calculation functionality and updates the display.
Installation
To get started with the project, follow these steps:
Clone the repository:
git clone https://github.com/abhishekgurjar-in/Loan-Calculator.git
Open the project directory:
cd Loan-Calculator
Run the project:
- Open the
index.html
file in a web browser to view the Loan Calculator.
- Open the
Usage
Open the website in a web browser.
Enter the loan amount, interest rate, and months to repay.
View the calculated monthly payment displayed below the input fields.
Code Explanation
HTML
The index.html
file defines the structure of the Loan Calculator, including the input fields and display area for the monthly payment. Here’s a snippet:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Loan Calculator</title>
<link rel="stylesheet" href="./style.css">
<script src="./script.js" defer></script>
</head>
<body>
<div class="container">
<h1>Loan Calculator</h1>
<p>Loan Amount $
<input onchange="calculateLoan()" class="input" type="number" id="loan-amount" min="1" max="500000" value="10000">
</p>
<p>Interest Rate %
<input onchange="calculateLoan()" class="input" type="number" id="interest-rate" min="0" max="100" value="10" step=".1">
</p>
<p>Months to pay
<input onchange="calculateLoan()" class="input" type="number" id="months-to-pay" min="6" max="48" value="12">
</p>
<p class="payment" id="payment">Monthly Payment:</p>
</div>
<div class="footer">
<p>Made with ❤️ by Abhishek Gurjar</p>
</div>
</body>
</html>
CSS
The style.css
file styles the Loan Calculator, making it attractive and easy to use. Below are some key styles:
body {
background: #4285f4;
padding: 0;
margin: 0;
display: flex;
height: 100vh;
flex-direction: column;
justify-content: center;
align-items: center;
font-family: 'Courier New', Courier, monospace;
}
.container {
background: black;
color: aliceblue;
padding: 20px;
border-radius: 10px;
}
.input {
width: 100%;
font-size: 20px;
height: 30px;
}
.payment {
font-weight: 600;
font-size: 20px;
}
.footer {
color: white;
margin-top: 120px;
text-align: center;
}
JavaScript
The script.js
file contains the logic for calculating the loan payment and updating the display. Here’s a snippet:
function calculateLoan() {
let loanAmountValue = document.getElementById("loan-amount").value;
let interestRateValue = document.getElementById("interest-rate").value;
let MonthsToPayValue = document.getElementById("months-to-pay").value;
let interest = (loanAmountValue * (interestRateValue * 0.01)) / MonthsToPayValue;
let monthlyPayment = (loanAmountValue / MonthsToPayValue + interest).toFixed(2);
document.getElementById("payment").innerHTML = `Monthly Payment: ${monthlyPayment}`;
}
Live Demo
You can check out the live demo of the Loan Calculator project here.
Conclusion
Building the Loan Calculator was a rewarding experience, allowing me to apply JavaScript for practical financial calculations. This tool is useful for anyone looking to manage their loan payments effectively and can be a valuable addition to your web development toolkit. I hope you find it helpful and inspiring. Happy coding!
Credits
This project was developed as part of my ongoing efforts to enhance my JavaScript skills and create useful web tools.
Author
Abhishek Gurjar