reset password

Please deploy your application on CS3, and upload all source files to CSNS. The source files should include all the source code, documentation (optional), and an HTML file final.html which contains a hyperlink to your application on the CS3 server. Note that file uploading will be disabled automatically after the due time, and late submission will not be accepted.


In this exam you are going to develop a contact manager web application that is similar to the ones that can be found on many smart phones.

Your application must use a database to store the data, and you must submit an SQL script file final.sql which contains the statements to create and populate all the tables for the application. Your implementation must follow the MVC architecture and use JDBC for database access. For simplicity, we assume that all user input are correct so you do not need to do input validation.

The main page of the application displays the names of the contacts managed by the application.

Contacts

Add A Contact

A
Amy (123) 456-7890
J
Joe (234) 567-8901
John (345) 678-9012
T
Tom (567) 890-1234

Note that the contacts are listed in alphabetic order and are divided into groups based on the first letter of the name. For simplicity you may assume that contact names are unique.

A user may click on Add A Contact to add a new contact. For example:

Contacts - Add

Name:
Phone:

After a contact is added, the user should be redirected to the contact list page.

Clicking on the name of a contact allows the user to see all the information about the contact as well as adding more fields to the contact:

Contacts - John

Name John  
Phone (345) 678-9012  

Additional fields such as address, email, and so on can be added to the contact using the form at the end of the table. For example, after adding an email field, John's contact page would look like this:

Contacts - John

Name John  
Phone (345) 678-9012  
Email john@gmail.com  

Note that there is no limit on how many fields a user can add to a contact.


Grading