Coder Social home page Coder Social logo

phanibuddi9's Projects

advanced-java8-stream icon advanced-java8-stream

Various examples using Junit test for Java8 lamda, streams, aggregate, filter and reductions

bank icon bank

A local regional bank, named MidWesTen Bank, has hired you to design and develop a simple banking software solution for them, which they will be using to run part of their banking business; specifically, the system will be used to collect, maintain and manage data about their customers and the bank accounts they operate. They want you to implement a basic web application for this purpose. Especially important to the Bank manager is, the data that provides information about the net liquidity of the bank, on any given day. The bank’s operational data model is given as follows: A Customer can own many Accounts. An Account belongs to just one Customer. An Account must be of one of many possible AccountTypes. The Bank currently offers the following 3 AccountTypes: 1. Checking account 2. Loan account 3. Savings account Your solution model should consist of the following three data entities: 1. Customer 2. Account 3. AccountType Here are the attributes for the entities: Customer: customerId:long, customerNumber:long, firstName:string, middleName:string, lastName:string, emailAddress:string, contactPhoneNumber:string, dateOfBirth:date Account: accountId:long, accountNumber:long, balance (Note: the account balance represents the amount of money in dollars and cents held in the account) AccountType: accountTypeId:int, accountTypeName:string Here are excerpts of the Bank’s existing data, which you are expected to input into the new banking software system: AccountTypes: AT1: { accountTypeId:1, accountTypeName: Checking} AT2: { accountTypeId:2, accountTypeName: Loan} AT3: { accountTypeId:3, accountTypeName: Savings} Customers: C1: {customerId:1, customerNumber:10001, firstName:Anna, middleName:””, lastName:Smith, emailAddress:[email protected], contactPhoneNumber:(641) 451-0001, dateOfBirth:1978-5-21} C2: {customerId:2, customerNumber:10002, firstName:Bob, middleName:Earl, lastName:Jones, emailAddress:[email protected], contactPhoneNumber:(319) 001-0001, dateOfBirth:1964-12-7} Accounts: A1: {accountId:1, accountNumber:100001, balance:$190,590.95} – belongs to customer, C1; This account is of the AccountType, Savings. A2: {accountId:2, accountNumber:100002, balance:$60,000.00} – belongs to customer, C1; This account is of the AccountType, Loan. A3: {accountId:3, accountNumber:100003, balance:$354,005.26} – belongs to customer, C2; This account is of the AccountType, Checking. For this question, you are required to do the following: 1. Draw a simple UML Static (class) model for the software solution. 2. Using the set of tools, technologies and frameworks which you have learnt about in this CS425 course, including Spring Boot Spring Web MVC, Spring Data JPA, etc., (or some other Enterprise Web application development platform/tool(s) that you prefer), implement a working web application for MidWesTen Bank. You may use any database of your choice. You are expected to implement only the following features and use-cases: 1. Display a homepage which presents a set of menu options. 2. Display list of Customers (Allows the bank manager to view a list of all the Customers registered in the system). The bank requires this list to be displayed sorted in ascending order of the Customers’ last names (see sample screen below). 3. Register a new Customer (Allows the bank manager to add a new Customer into the system). 4. Display list of Accounts (Allows the bank manager to view a list of all the Accounts held in the system). The bank requires this list to be displayed sorted in ascending order of the Account Number (see sample screen below). 5. Open a new Account (Allows the bank manager to add/open a new Account for an existing customer in the system). 6. Display the bank’s net liquidity position (This means the system presents to the bank manager, a computed value that represents the bank’s net liquidity. This value is computed by taking the sum of the Savings and Checking accounts balances minus the sum of the Loan accounts balances. It represents the total amount of cash expected in the bank’s vault). Your solution should display this data at the bottom of the “List of Accounts” table (see sample screen below). 7. Using the JUnit framework, write a Unit Test case for your function/method that computes the bank’s net liquidity. Be sure to execute your Test-case and take a screenshot of your result, as displayed by your IDE. Shown below are sample User Interfaces for the use-cases/tasks. Note: Your own UI design does NOT necessarily have to look exactly like these samples. But your UIs should contain all the necessary data and data fields, as shown.

bank-application icon bank-application

A local bank intends to install a new automated teller machine (ATM) to allow users (i.e. bank customers) to perform basic financial transactions. Each user can have only one account at the bank. ATM users should be able to view their account balance, withdraw cash (i.e. take money out of their account), and deposit funds (i.e. place money into an account). The user interface of the ATM contains the following components: a screen that displays messages to the user a keypad that receives numeric input from the user a cash dispenser that dispenses cash to the user a deposit slot that receives deposit envelopes from the user The cash dispenser begins each day loaded with 500 $20 bills. The bank wants you to to develop software to perform the financial transactions initiated by bank customers through the ATM. The bank will integrate the software with the ATM's hardware at a later date. The software should encapsulate the functionality of the hardware devices (e.g. cash dispenser, deposit slot) within software components, but it doesn't need to be concerned with how these devices actually work. The ATM hardware has not yet been developed, so instead of writing your program to run on the ATM, you will develop a first version of the software that will run on a PC. This version should use the monitor to simulate the ATM's screen, and the computer's keyboard to simulate the ATM's keypad. An ATM session consists of authenticating a user (i.e. proving the user's identity) based on an account number and personal identification number (PIN), followed by creating and executing financial transactions. To authenticate a user and perform transactions, the ATM must interact with the bank's account information database. For each bank account, the database stores an account number, a PIN, and a balance indicating the amount of money in the account. We will assume that the bank only plans to build one ATM, so don't worry about multiple ATM's accessing the database at the same time. Yes, we're oversimplifying what the "real world" experience would be like, because we don't have time to build a full application such as would be needed. Upon first approaching the ATM (assuming no one is currently using it), the user should experience the following sequence of events: The screen displays a welcome message and prompts the user to enter an account number The user enters a five digit account number using the keypad The screen prompts the user to enter the PIN associated with the account The user enters a five digit PIN using the keypad If the user enters a valid account number and the correct PIN for that account, the screen displays the main menu If the user enters an invalid account number or PIN, the screen displays an appropriate message and returns to step 1 to restart the authentication process After the ATM authenticates the user, the main menu should contain a numbered option for each of the three types of transactions: balance inquiry (option 1), withdrawal (option 2), and deposit (option 3). The main menu should also contain an option for the user to exit the system (option 4). The user then chooses either to perform a transaction (by entering 1, 2, or 3) or to exit the system (by entering 4). If the user enters 1 to make a balance inquiry, the screen displays the user's account balance. To do so, the ATM must retrieve the balance from the bank's database. The following steps describe the actions that occur when the user enters 2 to withdraw money: The screen displays a menu containing standard withdraw amounts: $20 (option 1), $40 (option 2), $60 (option 3), $100 (option 4), and $200 (option 5). The menu also contains an option to allow the user to cancel the transaction (option 6) The user enters a menu selection using the keypad If the withdraw amount selected is greater than the user's account balance, the screen displays a message stating this and telling the user to choose a smaller amount. The ATM then returns to step 1. If the withdraw amount is less than or equal to the user's account balance, the ATM proceeds to the next step If the user chooses to cancel the transaction, the ATM displays the main menu and waits for user input If the case dispenser contains enough cash to satisfy the request, the ATM proceeds to the next step, otherwise it displays a message telling the user to choose a smaller amount, and then returns to step 1 The ATM debits the withdraw amount from the user's account in the bank's database The cash dispenser dispenses the selected amount of money to the user The screen displays a message reminding the user to take the money If the user chooses option 3 to make a deposit: The screen prompts the user to enter a deposit amount or type 0 (zero) to cancel the transaction The user enters a deposit amount or 0 using the keypad (Note: the keypad does not contain a dollar sign or decimal point, so numbers must be entered as a number of cents, e.g. 125. The ATM then divides this number by 100 to obtain a number representing a dollar amount, e.g. 125/100 = 1.25 If the user specifies a deposit amount, the ATM proceeds to the next step; if the user chooses to cancel the transaction by entering 0, the ATM displays the main menu and waits for user input The screen displays a message telling the user to insert a deposit envelope into the deposit slot If the deposit slot receives an envelope within two minutes, the ATM credits the deposit amount to the user's account in the bank's database (the money is not immediately available for withdrawal and must be verified by the bank staff, any checks in the envelope must clear, and funds transferred from the check writer's account to the member's account) When either of these events occur, the bank appropriately updates the user's balance stored in its database, which occurs independently of the ATM If the deposit slot does not receive an envelope within two minutes, the screen displays a message that the transaction has been canceled due to inactivity, and the ATM displays the main menu and waits for user input After the system executes a transaction, it should return to the main menu so that the user can perform additional transactions. If the user chooses to exit the system, the screen should display a thank you message, then display the welcome message for the next user.

beer-stock-api icon beer-stock-api

This project is part of bootcamp at Digital Innovation One in partnership with Everis . So through it I learned to test, unitarily, a REST API for beer stock management.The application was developed in Spring Boot. I also used the main concepts of unit testing with JUnit and Mockito.

bookmanager icon bookmanager

Book Manager One-To-Many Relationship project for Spring Boot

bookstoreapp-distributed-application icon bookstoreapp-distributed-application

Ecommerce project is being developed using Spring Boot Microservices and Spring Cloud (Backend) and React (Frontend). Splitting the Ecommerce functionality into various individual microservices so that they can be distributed, scale really well and make use of resources efficiently.

covid19 icon covid19

Building a Coronavirus tracker app with Spring Boot and Java

employeemanagement icon employeemanagement

Login-based employee management web application that built with Spring framework (Boot, Jpa, Security) and (HTML, CSS, javascript). Also, unit test (JUnit5) is available for this project.

hackerrank-solutions icon hackerrank-solutions

hackerrank solutions github | hackerrank all solutions | hackerrank solutions for java | hackerrank video tutorial | hackerrank cracking the coding interview solutions | hackerrank data structures | hackerrank solutions algorithms | hackerrank challenge | hackerrank coding challenge | hackerrank algorithms solutions github| hackerrank problem sol

hotel-booking-application icon hotel-booking-application

Hotel booking RESTful application (Java 8, Spring Boot, Spring MVC, Spring Data, Hibernate, H2, Maven, JUnit/Mockito) [2018]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.