Skip to content

kwatts949/banking_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banking App

A tech test to practice code quality.
Specification · Installation · Running locally · Testing · Process · Feedback

Specification

  • You should be able to interact with your code via a REPL like IRB or Node. (You don't need to implement a command line interface that takes input from STDIN.)
  • Deposits, withdrawal.
  • Account statement (date, amount, balance) printing.
  • Data can be kept in memory (it doesn't need to be stored to a database or anything).

Acceptance criteria

Given a client makes a deposit of 1000 on 10-01-2023
And a deposit of 2000 on 13-01-2023
And a withdrawal of 500 on 14-01-2023
When she prints her bank statement
Then she would see

date || credit || debit || balance
14/01/2023 || || 500.00 || 2500.00
13/01/2023 || 2000.00 || || 3000.00
10/01/2023 || 1000.00 || || 1000.00

Installation

Clone this repo.

In terminal (Mac), run:

cd banking_app
bundle install

Running locally

Go to project directory:

cd banking_app/lib

Require main file:

irb -r ./account.rb

To create a new account:

account = Account.new

To make a deposit:

account.deposit(Transaction.new(500, '12-12-2022'))

To make a withdrawal:

account.withdraw(Transaction.new(400, '12-12-2022'))

To print a statement:

account.print_statement

Example output:

Testing

To run the tests:

cd banking_app
rspec

Process

User Stories

You can view the list of user stories here

Thought Process

You can view my thought process & details of how I broke the problem down here

Diagram

You can view a diagram solution here

About

A simple banking app to practice code quality.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages