Jennifer Kaiser 2023
www.linkedin.com/in/jenniferkaiser-tech
www.github.com/jenniferkaiser21
- Python (Version 3.9.12)
- Django
- djangorestframework
- VSCode
- Git
https://github.com/jenniferKaiser21/Bank
This project is a work in progress, and simulates the tasks that a traditional bank or ATM might need to process on a daily basis, including account creation and establishing a balance, and executing common banking transactions such as withdrawals and deposits, while tabulating the resulting balance and logging all transaction data including starting and ending balances and transaction timestamp.
In order to build this simulation, the Django Rest Framework is used to build the back-end API, so that various endpoints can take GET/POST requests with payload data for simulation.
myaccount/ (GET REQUEST)
newaccount/ (POST REQUEST)
transaction/<int:id> (GET REQUEST)
newtransaction/ (POST REQUEST)
The Accounts database table contains the following attributes:
first_name (a character field)
last_name (a character field)
date_opened (a date field that is automatated using the auto_now_add = True clause)
last_updated (a date field that is automatated using the auto_now = True clause)
balance (a decimal field with a maximum of 20 digits and 2 decimal places)
pin (a numeric code stored as a string with a length of 4)
The Transactions database table contains the following attributes:
timestamp (a date field that is automatated using the auto_now_add = True clause)
account_id (a foreign key mapped to the Accounts.id primary key of the Accounts table)
transaction_amt (a decimal field with a maximum of 20 digits and 2 decimal places)
transaction_type (a choice field referring to transaction type codes such as "WD" "withdrawal" and "DP" for deposit)
starting_balance (a decimal field with a maximum of 20 digits and 2 decimal places)
ending_balance (a decimal field with a maximum of 20 digits and 2 decimal places)