This banking application goes beyond CRUD operations and basic functionalities. It offers investment forecasts, interest calculation for loans and much more.
- F.R 01: User Authentication
- F.R 02: Bank Account Management
- F.R 03: Banking Operations
- F.R 04: Investment Forecasts
- F.R 05: Interest Loan Calculations
- F.R 06: Balance Inquiries
- F.R 07: Financial Reports
- .createUser(User user) - creates an user
- .deleteUser(int userId) - deletes an user
- .getUserId(String email) - returns the email of the specified user
- .getUserById(int userId) - returns the user with the specified ID
- .editUserPassword(int userId, String userNewPassword) - edits the user's password
- .editUserUsername(int userId, String usersNewUsername) - edits the user's username
- .verifyUserEmail(String userEmail) - returns boolean expression
- .verifyUserPassword(String userPassword) - returns boolean expression
- .getUsers() - gets all users
- .showUsers() - to visualize the return of getUsers in the prompt
- .verifyUserId(int userId) - returns boolean expression
- .createBankAccount(BankAccount bankAccount, String email, int userId) - creates a bank account
- .deleteAccount(int bankAccountId) - deletes an account
- .getBankAccounts() - gets all bank accounts
- .showBankAccounts() - shows all bank accounts in the prompt
- getAccountById(int bankAccountId) - gets an account given an Id
- .getBalanceById(int bankAccountId) - gets the account balance
- .updateBalance(float amount,int userId) - updates the balance value of an account
- .createTransaction(Transaction transaction, int userId) - creates a transaction
- .getTransactionByUserId(int userId) - gets a transaction given a user Id
- .getTransactionsByType(TransactionType transactionType) - gets a list of transactions given a transaction type
- .createLoan(Loan loan, int accountId, intuserId) - creates a loan
- .deleteLoan(int loanId) - deletes a loan given the id of the loan
- .updateLoanStatus(int loanId, LoanStatusType newStatus) - updates the status of a loan
- .getLoanById(int loanId) - gets a loan given a loanId
- .getLoansByUser(int userId) - gets all the loans an user has
- .getLoansByAccountId(int accountId) - gets all the loans given an account Id
- .calculateMonthlyPaymentForLoan(int loanId) - calculates how much you have to pay per month
- .calculateMonthlyPayment(float loanAmount, float annualInterestRate, int loanTermMonths) - calculates the monthly payment
- .getLoanStatus(LoanStatusType loanStatus) - gets all the loans with the given status
- .createInvestment(Investment investment) - creates an investment
- .deleteInvestment(int investmentId) - deletes an investment with the given Id
- .updateInvestment(int investmentId, String investmentsColumn, String updateContent) - updates an investment with the given parameters
- .listInvestments() - returns a list with all the existing investments
- .getInvestmentById(int investmentId) - returns an investments with the given Id
- .getInvestmentForecast(int investmentId) - returns investment forecasts given an Id
- .getInterestLoanCalculations(int loanId) - returns interest loan calculations given an Id