Final Report
Final Report
ON
"Contact Management System"
Submitted by
1. Introduction
4
1.1 Project Overview 4
1.2 Objectives 4
3. Implementation
5
3.1 Contact Class 5
3.2 ContactManager Class 5
3.3 Main Program (CLI) 6
Abstract
n a daily basis, everyone depends on a lot of contacts which cannot be
O
remembered so easily as it’s tough to do so. Hence dependability increases on
phones. What will be the situation if our phone is lost and we do not easily
remember our contacts and other important stuff? Idea is to come up with an app
which will be a partial remedy to the phone. So let us try an app which will allow
saving info like Last Name, First name, Middle name, Phone number, email id,
upload pic etc.
It will be multi user application secured as personal data and saved contact
details will not be accessible to other users. The other option will be like save
notes which will allow user type down anything which can be kept as an info
related to passwords or info related to business deals, or info related to id’s or
ticket numbers etc.
1. Introduction
1.1 Project Overview
heContact Management Systemis a Python-based application designed to
T
store, manage, and organize contact details. The system allows users to perform
various operations like adding new contacts, updating existing contacts, deleting
contacts, and searching for specific contacts. This system is designed to be
simple, user-friendly, and efficient for managing a large number of contacts in a
local database.
he project utilizes Python and provides an intuitive interface for interacting with
T
contact data. It can be run in a console-based environment and can be extended
with features like data persistence using databases, advanced searching
algorithms, and enhanced user interfaces.
1.2 Objectives
● T o design a system that allows users to easily manage and store contact
details.
● To implement basic functionalities such as adding, updating, deleting, and
viewing contacts.
● To ensure that the system is easy to use, efficient, and fast in processing
the data.
● To practice Python programming and object-oriented concepts by
implementing a simple management system.
2. System Design
2.1 Functional Requirements
The system should support the following functionalities:
● A dd Contact: Add a new contact with fields like name, phone number,
email, address, and others.
● View Contact: Display the list of all contacts.
● Update Contact: Modify the details of an existing contact.
● Delete Contact: Remove a contact from the system.
● Search Contact: Find a contact by their name, phone number, or email.
● Sort Contacts: Sort the contacts based on any field (e.g., name or phone
number).
● Exit: Close the program and save the contact list (if applicable).
C
● ontact Class: This class stores the details of each contact.
● ContactManager Class: This class manages the list of contacts and
implements operations like add, update, delete, etc.
● Main Program: This component handles user input and invokes relevant
ContactManagerclass.
methods in the
3. Implementation
3.1 Contact Class
his class represents a contact's information, including their name, phone
T
number, email, and address.
class Contact:
def __init__(self, name, phone, email, address):
self.name = name
self.phone = phone
self.email = email
self.address = address
def __str__(self):
return f"Name: {self.name}, Phone: {self.phone}, Email: {self.email},
ddress: {self.address}"
A
class ContactManager:
def __init__(self):
self.contacts = []
def display_contacts(self):
if not self.contacts:
print("No contacts available.")
else:
for contact in self.contacts:
print(contact)
def main():
contact_manager = ContactManager()
while True:
print("\n1. Add Contact")
print("2. View Contacts")
print("3. Update Contact")
print("4. Delete Contact")
print("5. Search Contact")
print("6. Sort Contacts")
print("7. Exit")
choice = input("Choose an option: ")
else:
print("Invalid choice. Please try again.")
○ Input: Old Name = "John Doe", New Name = "Jane Doe", Phone =
"9876543210"
○ Expected Output: Contact details should be updated.
D
● elete Contact: