Files
basic-banking/instructions.md
Swordsteel 61519fc586 project setup
- update README.md
- setup tls
  - update gradle.properties with docker tls ports
  - update application.yml
    - disable tls in develop
    - set docker values
    - add default tls values
  - add keystore.p12
- setup postgres
  - update application.yml with defualt values
  - add 000-initizalise.sql
  - add postgres dependencies and config
  - add docker compose development
- add actuator.http
- add http environment
- update name and readme for service
2025-09-13 12:46:02 +02:00

1.2 KiB

Senior Engineer Test

Develop a service that simulates basic banking operations in a programming language of your choice. This service will manage accounts, process deposits, withdrawals, and transfers between accounts.

The system should be designed reflecting real-world constraints of a bank.

Requirements:

  1. A class or set of functions that allow:
    • Account creation: Allow users to create an account with an initial deposit.
    • Deposit: Enable users to deposit money into their account.
    • Withdrawal: Allow users to withdraw money from their account, ensuring that overdrafts are not allowed.
    • Transfer: Enable transferring funds between accounts.
    • Account balance: Provide the ability to check the account balance.
  2. Database:
    • In-memory data storage will suffice, no need to have a database alongside the project, but you can add one at your discretion

The word “service” here is used in a “software component/module” rather “deployable unit with an API” sense, no need to provide API for it.

Feel free to take as along as you need to complete the exercise. This will be used as a base for a follow-up pair programming session.