Let's practice modifying an existing codebase. This repository contains the code for existing ATM application using React. In it, you can currently deposit money into a checking account.
You'll be adding a few features to this:
- The ability to withdraw money
- Having a savings account as well as a checking account
In the end, your solution will look like this:
-
Fork and then clone this repo
-
Run
npm install
(ornpm i
for short!) -
To launch the app, run
npm start
. -
The code that's running is in the
/src
directory - that's what you need to change!
You can do the below tasks in any order you'd like.
Remember to make a pull request with your completed work in order to be given credit for this assignment
Currently, you can see that there is a Checking account where a user can deposit money. Try it out - it works!
- Create a "Withdraw" button next to the "Deposit" button.
- You should not be able to withdraw more than the current balance.
- Create a Savings account - another component of the same class.
- It will have the same deposit (and eventual withdraw) functionality.
- You cannot type negative numbers in to either withdraw or deposit.
Stuck on making a Savings account? Here's a hint:
Thename
prop being passed into Account
is "Checking" - perhaps you can just call the component again for "Savings".
Stuck on making a Withdraw button? Here's a hint:
Functionality to withdraw money is quite similar to functionality for depositing money, except with subtraction instead of addition.Stuck on limiting negative numbers? Here's a hint:
When a function checks if the input is a number (withisNaN
), an ||
condition could be added to be sure the input is not less than 0.