DESIGN DOCUMENT
AIM:
In this SQL programming project, a web application is created that interfaces with a backend
SQL database implementing a Contact List application.
INTRODUCTION:
In this web application a personalized webpage, Contact Address Book is interfaced with a
PostgreSQL database and it is used to store user contact details. The GUI is fairly simple and
easy to navigate through. All the contacts have been displayed on a single web page.
The modify, add and delete functionalities are on the same web page which the user can
navigate to easily at the click of a button The following options are available for the user:
Add new contacts
Search for existing contacts
Modify existing ones
Delete contacts
TOOLS AND TECHNOLOGIES USED:
Django framework was used for the GUI and middleware
PostgreSQL database is used to store the contact list information.
HTML/CSS have been used for front-end
Microsoft Excel was used for preprocessing of the data
Pgadmin was used to import data into the created database
DATABASE DESIGN:
The structure of the database was given, and the relations were constructed according to the
diagram given.
There are 4 tables, Contact, Address, Phone, Date. Contacts.csv is the csv file provided with all
the data combined. Preprocessing of the data was done using Microsoft excel.
The data was split and saved onto 4 individual csv files and stored in Postgresql databse
according to the given schema.
ASSUMPTIONS MADE:
Only 1 contact can be added or edited at a given time.
Only selected number of options are available for a contact. For example, Address Type
can be only Home or Work and Phone Type can only be Home, Work or Cell.
If a contact has multiple types of phone numbers, Addresses, they will be displayed
multiple times as they all reference the contact_id and that is the foreign key to all the
tables in the database.
DESIGN:
The front end has been done using HTML and Bootstrap in CSS.
Below is the start page of the web app
The add new contact form