Skip to content

Releases: jeffreybakker/ING_Project

Extension 3: Replace PIN Card

13 Aug 13:44
Compare
Choose a tag to compare

If a PIN card gets lost or stolen it should be possible to invalidate the card so it cannot be used by a third party. If you invalidate a card you will automatically receive a new PIN card. Receiving a new PIN code is optional. A new PIN card costs € 7,50 and this amount should be obtained from the corresponding bank account.

Extension 6: Savings account

12 Aug 22:25
Compare
Choose a tag to compare

In this extension savings accounts are introduced into the banking system. Existing customers should be able to open savings accounts that are connected to their regular accounts. The way that ING works however is that this does not create a separate bank account for the savings account, but it rather adds a savings account under the checkings account with the same IBAN.

In this extension I had to implement the savings accounts, implement paying interest over the balance on the savings accounts and refactoring a whole system to use the new account system.

Extension 7: Logging

06 Aug 13:12
Compare
Choose a tag to compare

For this extension I had to implement a logging system into the bank server. The perpose of the logging system is twofold, the first reason being that you want to be able to know how you reached your current state and the second being to detect suspicious behaviour.

For the first purpose I had to log every action in the system that changes its state. The log should contain sufficient information so that I could replay all of the events.

For the second purpose I had to log every server request that produces an error, like failed login requests or pin attempts.

Extension 5: Overdraft

05 Aug 17:36
Compare
Choose a tag to compare

By default the balance of a bank account could never be lower than 0.00 euros and therefore any action that attempts to lower this balance under this level should be rejected. However, there are cases where a customer might want to overdraft his or her account to make some necessary payments. Therefore this extension required us to make the over-drafting of bank accounts possible.

The task for this extension was to make a per account overdraft limit and limit transactions to never let the account balance fall below that limit. And whenever the balance of an account was less than 0.00 we would have to calculate interest over the overdrafted amount.

Extension 4: Time simulation

04 Aug 14:30
Compare
Choose a tag to compare

For some components of the banking system, time plays an important role, for example the expiration date of a PIN card.

The task of this assignment was to give the bank system its own date and time, separate from the actual date and time (even though these should initially be the same). The date of the system should be just as persistent as your other data. The bank should only use this date and time for all actions involving a date, such as processing a transaction or checking if a PIN card is expired.

A user should be able to manipulate this time via an API call, see the methods:

  • simulateTime
  • reset
  • getDate

Extension 2: Blocking and unblocking PIN cards

03 Aug 18:45
Compare
Choose a tag to compare

The assignment for this extension is as follows: A PIN card should be blocked after three consecutive attempts to use it with an incorrect PIN code. After a card is blocked it cannot be used anymore to access (the money no) a bank account.

A PIN card can be unblocked by the user by logging in and calling the unblockCard method.

Extended initial requirements

10 Jul 22:25
Compare
Choose a tag to compare
Merge pull request #39 from jeffreybakker/feature/test

Change return type of findBankAccountsByPrimaryHolder

Initial Requirements 1.0

02 May 21:21
Compare
Choose a tag to compare
Pre-release

Implements the initial requirements for version 1.0 with a few assumptions