Skip to content

Latest commit

 

History

History
40 lines (24 loc) · 1.27 KB

README.md

File metadata and controls

40 lines (24 loc) · 1.27 KB

Withdrawal Service

Prerequisites :

  1. Java 17 - Installation
  2. Apache Maven - Installation

Running the application :

  • To run the application on windows, please run ./run-application.bat
  • To run the application on Linux or Mac, please run ./run-application.sh

Once the application runs successfully, you can find the API documentation here

API overview :

  1. user-controller helps setup user accounts and CRUD operations for the same.

  2. transaction-controller

    /transactions/withdrawl - makes a transfer from user's account to a wallet. It talks to WithdrawalService for approval

    /transactions/transfer - used for account-to-account transfer

Data Model

Screenshot 2024-05-09 at 4 45 13 AM

Unit Testing

Unit tests are available under src/test/java

class : TransactionServiceTest

Tests :

  1. testWithdrawalsSimple
  2. testWithdrawalsConcurrent
  3. testTransfersSimple
  4. testTransfersConcurrent
  5. testTransferssAndWithdrawalsConcurrent