The purspose of this project was to practice JavaScript by creating a banking app without using third party libraries. The main focus was concentrated on working with DOM, arrays, strings etc. It was not my goal to build a fully functional web application that supports authentication, feels and looks like a real online banking.
JavaScript, HTML, CSS. Inspired by Jonas Schmedtmann, copyright by Jonas Schmedtmann, implementation is mine, I made multiple modifications to the original challenge.
There are 4 users that use different currencies. For some users banking data contains timestamps of the transaction, for some users there is no transation timestamp. That was done on purpose.
- User name: jb, pin: 1111
- User name: jd, pin: 2222
- User name: stw, pin: 3333
- User name: ss, pin: 4444
- The app implements basic dark mode and light mode UI. Insteadof Icons I used emojis, for this reason it may look differently on different computers.
- The app automatically creates 'user name' out of account holders' names. User name is not case sensitive. If login data is incorrect the user will be notified.
- Currency. The app will automatically display account holders currency type.
- If user's data contains transaction timestamps they will be displayed. If the transaction took a place today or yesterday, instead of displaying a date it wills say 'TODAY' or 'YESTERDAY'.
- Auto logout. After a successfull login a timeout timer will start and after 5 minutes of inacctivity a user will be logged out. If a user makes a transaction a timer will reset.
- Sorting. You can sort transactions.
- Transfers. You cannot transfer money to your self. After an ammount was entered two decdimals will be added automatically. Transaction will be reflected on sender's and receiver's transaction history. Ammount of a transafer must greater than zero.
- Transaction type. The app will automatically determine a transaction type.
- Number format. Numbers will be presented according to user's 'locale'.
- Loan. A user must have at leat 10% of a requested ammount on deposit. After an ammount was entered two decdimals will be added automatically. Transaction will be reflected on sender's and receiver's transaction history. Ammount of a transafer must greater than zero otherwise a loan request will be denied.
- Close account. Only account holder may close account. Once closed you will be presented two options: reload the app or continue with the existing data and remaining users.