Mini-Project Part 1: Credit Card Payoff Calculator

I’ve been going over my finances and I’ve decided that I want to come up with a schedule for paying off a couple of credit cards.  I decided it’d be a fun short project to create a small HTML5 app using jQuery that I could use to see what the the difference would be between paying off cards with higher rates first, or cards with lower balances first, or or some arbitrary schedule. My basic idea is to have a table with a variable number of rows, depending on the number of credit cards you want to pay off. After the user enters data for all the cards, they click on a “calculate” button, and the results are displayed in a table below the data entry.

Here’s a short description of what the app will do:

The purpose of the app is to calculate how long it will take to pay off multiple credit cards, given the current balance, minimum due, and APR of each card, as well as the total available to make payments each month.

The user will enter data into a table with three data items (CB, MD, APR) for each card, one per row. When the user wishes to enter another credit card, they click a “+” below the existing cards and a row is added to the table.

CALCULATIONS

When all data for the cards has been entered, the user clicks the “calculate” button. And then magic happens.*

DISPLAY

After calculations are complete, a table with the results is displayed.  The results table contains up to 3 rows for each card– Optional rows or the first and last months payment on that card and a row for all other months.  Each row contains a month (or range of months), the monthly payment for that period, total payments, and total principle and interest.  Each card’s rows are topped with a summary row that sums all rows for that card.  The last row of the table shows the total of all payments, total principle and interest, and total time required.

* Magic will be defined in another post.


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *