Internet Programming Term Project – Online Banking I. Introduction This project let you apply the programming skills you learned in Internet Programming class by developing an application for online banking using ASP.NET MVC Core with C# language. You will build a website which serves as an online service website, where one can register as a customer. Once registered, a customer can log in and log out the website. Customers can update their profile/personal information, review deposit/withdraw history, check balance, pay bills. Particularly, in the bill pay section, the customers can add/update payee information, pay one or more payees, and review payment history. Another role of the website is a teller. A teller can see the information of all the customers, can perform deposit/withdraw operation, can close customer accounts. II. Requirements 1. There are two roles in this website – customers and tellers. 2. A teller can see all customers’ information. 3. A teller can withdraw and deposit money for a customer. This is just a simulation of the operation that a teller performs at the bank counter when collecting and/or disseminate cash/check from a customer. 4. The website is free. Anyone can register as a customer. Upon registration, the customer information is collected and saved in the database; an id is assigned to the customer. 5. Registered customers can log in and log out the website. The only pages an unregistered person can access is the home page and registration page. 6. A customer can update his/her personal information on the website. 7. On the bill pay page, a customer can add new payee or update existing payee. One customer can have multiple payees. 8. A customer can pick one or multiple payees to pay. When payment is submitted, you only need to save the payment information in the database. A customer can review payment history which can be sorted and filtered by a date range. 9. You need to design a simple database. Three tables are required in the DB: Customer –information of the registered customer Payee — each customer can have a saved list of payees with all information necessary to send the payment PaymentHistory – stores the payment history of all customers You can also add additional tables that you think are needed. 10. You will not only be graded by the correctness, but also by the quality of code. I expect your code to be clear and follow good programming practice. 11. When designing and building the website, keep security and user friendliness in mind! 12. You can work alone or in a team of 4 students maximum. 13. Bonus points will be given to projects with an additional role – manager. If you implemented this feature, make sure to describe it in your video demo and project report. Maximum 10 bonus points. III. Deliverables 1. Project Reports – You need to write a project report, where you need to: Provide introduction of the project Show screenshots of the pages you built Explain how each page work, and how are the pages connected What skills you learned from class are used in your project If this is a teamwork, only one report is needed for the team. The report needs to have all team members’ names and clarify each team member’s contribution to the project. 2. Presentation – At the end of the semester, you will prepare a demo video using screen recording software such as “screen cast o matic”, “screencastify”, or zoom (meeting recording functionality). In the video, present your project by briefly going through the code structure and a demo of the website. 3. Code – Zip all the source code into one zip folder.