Internet Programming

lambertminko
InternetProgrammingTermProject.docx

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

 Payment History – 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.