Skip to content

Latest commit

 

History

History
248 lines (161 loc) · 3.23 KB

DOCS.md

File metadata and controls

248 lines (161 loc) · 3.23 KB

Docs

Microservices

Portal [3100:30200]

Loads the UI and takes care of user sessions. Communicates with all other microservices.

Authentication [3200:30100]

Handles user profile creation, as well as login & logout.

Endpoints:

/api/user/create

Description: Creates a new user account

Method: POST

Example input:

{
  uuid: String,
  name: String,
  email: String,
  phone: String,
  gender: String,
  dob: String,
  eid: String,
  password: String
}
/api/user/authenticate

Description: Authenticates a user

Method: POST

Example input:

{
  email: String,
  password: String
}
/api/user/get

Description: Returns a list of all users

Method: GET

Accounts [3400:30120]

Handles creation, management, and retrieval of a user's banking accounts.

Endpoints:

/api/accounts/create

Description: Creates a new user account

Method: POST

Example input:

{
  uuid: String,
  type: String,
  currency: String,
}

Notes:

The parameter uuid links the account to a user's unique identifier. Type has to be one of the following: current, savings, credit, prepaid

/api/accounts/get

Description: Retrieves a user's accounts

Method: POST

Example input:

{
  uuid: String
}
/api/accounts/deposit

Description: Deposits an amount to a user's account

Method: POST

Example input:

{
  number: String,
  amount: Number
}

Notes:

The parameter number references an account

/api/accounts/withdraw

Description: Withdraws an amount from a user's account

Method: POST

Example input:

{
  number: String,
  amount: Number
}
/api/accounts/drop

Description: Drops the accounts collection

Method: GET

Transactions [3600:30140]

Handles creation and retrieval of transactions

Endpoints:

/api/transactions/create

Description: Creates a new transaction

Method: POST

Example input:

{
  uuid: String,
  amount: String,
  currency: String,
  description: String,
  date: String,
  category: String
}

Category has to be one of the following:

  • groceries
  • eating_out
  • transport
  • bills
  • expenses
  • cash
  • holidays
/api/transactions/get

Description: Retrieves a user's transactions

Method: POST

Example input:

{
  uuid: String
}
/api/transactions/drop

Description: Drops the transactions collection

Method: GET

Bills [3800:30160]

Handles creation, payment, and retrieval of bills

Endpoints:

/api/bills/create

Description: Creates a new bill

Method: POST

Example input:

{
  uuid: String,
  category: String,
  entity: String,
  account_no: String,
  amount: String,
  date: String
}

Category has to be one of the following:

  • utilities
  • home_entertainment
  • mobile_phone
  • credit_card
/api/bills/get

Description: Retrieves a user's bills

Method: POST

Example input:

{
  uuid: String
}
/api/bills/drop

Description: Drops the bills collection

Method: GET

Support [4000:30180]

Handles communication with Watson Assistant on IBM Cloud to enable a dummy support chat feature.

Userbase [4100:30050]

Simulates a fake userbase for the app. Periodically loops through all user accounts and adds randomized bills and transactions for them.