Contact Book Final
Contact Book Final
to the
By
S.PARKAVI
C22PG102CSC016
NOV/DEC-2023
1
Mr.S. BALAJI .,M.C.A.,M.Phil.,DCA.DUC.,
Head of the Department,
Department of Computer Science,
J. K . K . Nataraja College of Arts & Science, Place : Kumarapalayam
Date :
CERTIFICATE
This is to certify that the project work entitled CONTACT BOOK PROJECT USING
PYTHON submitted in partial fulfilment of the requirements of the degree of Master of Science
in Computer Science to the Periyar University, Salem is a record of bonafide work carried out by
S.PARKAVI Reg. No. C22PG102CSC016 under my supervision and guidance.
Date of Viva-Voice:
2
ACKNOWLEDGEMENT
It would have been highly impossible to complete this project if I don’t have interacted
with lot of people. This is my first and for most duty to thank everyone.
I would like to express my sincere gratitude to my internal guide Mr. S.BALAJI., M.C.A.,
M.Phil.,DCA.,DUC.,Assistant professor, Department of computer science, for his guidance from
time to time with at most patience and keen, interest, which motivated me throughout the project.
I extend my sincere thanks to all faculty members in the Department of Computer Science,
my parents and friends for their valuable guidance and support to complete this project
successfully.
Finally, I thank each and every one who has helped me to complete this project work
successfully.
S.PARKAVI
3
CONTENTS
S. NO TITLE PAGE
ABSTRACT
1. INTRODUCTION
1.1 SYSTEM SPECIFICATION
1.1.1 HARDWARE SPECIFICATION
1.1.2 SOFTWARE SPECIFICATION
1.1.3 SOFTWARE DESCRIPTION
2. SYSTEM STUDY
2.1 EXISTING SYSTEM
2.1.1 DESCRIPTION
2.1.2 DRAWBACKS
2.2 PROPOSED SYSTEM
2.2.1 DESCRIPTION
2.2.2 FEATURES
3. SYSTEM DESIGN AND DEVELOPMENT
3.1 INPUT DESIGN
3.2 OUTPUT DESIGN
3.3 SYSTEM DEVELOPMENT
3.3.1 DESCRIPTION OF MODULES
4. TESTING AND IMPLEMENTATION
5. CONCLUSION
6. BIBLIOGRAPHY
6.1 SAMPLE CODING
6.2 SCREENSHOTS
4
ABSTRACT
Contact books are a useful and widely used application all over the word. They’re
everywhere. You probably might have a contact book on your phone and on your computer. With
a contact book, you can store and manage contact information for your family members, friends,
coworkers, and so on. Real world projects will require you to apply different and varied coding
skills which will also encourage you to research topics that pop up as you’re solving problems in
the development process. In this project, the main aim is to build a contact book application with
Python with minimal-to-minimal code. With this the user will get to know how to create a basic
contact book using Python language to store and also to search contacts when ever needed. With
some modifications you can make it very useful for yourself and for others too.
To create a contact book in Python, one can start by defining a dictionary or a list of dictionaries
to store contact information. Each dictionary could represent a contact with fields like name,
phone number, email, and address. Users can interact with the contact book through a console-
based menu, allowing them to add, view, update, or delete contacts. To make it more user-
friendly, functions can be defined to handle each of these operations. Additionally, you can
implement error handling to ensure that the contact book gracefully handles invalid inputs. For
more advanced features, consider persisting the data in a file or using a database for better data
management and retrieval. Building a graphical user interface (GUI) using libraries like Tkinter can
also enhance the user experience. This basic structure provides a foundation for creating a more
robust and user-friendly contact book application in Python.
5
INTRODUCTION
CHAPTER 1
INTRODUCTION
6
SCOPE OF THE PROJECT
A contact book project using Python is a valuable tool for managing and organizing personal
or professional contacts. The scope of this project typically includes creating a user-friendly
interface that allows users to add, view, edit, and delete contacts. It should support essential
contact information like names, phone numbers, email addresses, and perhaps additional details
like addresses or notes. Additionally, the project can implement features such as searching for
contacts, sorting them, and exporting/importing contact data. To make it more robust, you might
consider incorporating data validation, error handling, and potentially even a graphical user
interface (GUI) for a more user-friendly experience. Overall, the scope can vary from a basic
console application to a more advanced, feature-rich application depending on the project's
objectives and complexity.
SYSTEM SPECIFICATION
HARDWARE REQUIREMENTS
This section gives the details and specification of the hardware on which the system
isexpected to work.
7
SOFTWARE REQUIREMENTS FOR SYSTEM
This section gives the details of the software that are used for the development.
8
CONTACT BOOK MODEL
The history of contact book applications using Python dates back to the early days of
software development. In the early 2000s, as personal computers became more common,
developers started creating simple contact management programs using Python's user-friendly
9
features. These early applications allowed users to store and organize their contacts, typically using
text-based interfaces.
In more recent years, contact book applications have further advanced with the integration of
database systems like SQLite or PostgreSQL. This allows for efficient storage and retrieval of
contact information, and often includes features like search and synchronization with other
devices.
Today, Python contact book applications have become even more sophisticated, with the advent
of web-based and mobile versions that leverage frameworks like Flask or Django for web
development and Kivy for mobile app development. These modern contact book applications offer
a seamless user experience across various platforms and often integrate with cloud services for
data backup and synchronization.
Overall, Python has played a vital role in the development of contact book applications,
evolving from simple text-based tools to feature-rich, cross-platform solutions over the years. Its
ease of use and versatility have made it a popular choice among developers for creating contact
management software.
10
CHAPTER 2
SYSTEM STUDY
EXISTING SYSTEM
A Python contact book system can be developed using data structures like dictionaries or
lists to store contact information. Each contact entry can include attributes like name, phone
number, email address, and more. Users can interact with the system through a command-line
interface or a graphical user interface (GUI). They can add, edit, delete, or search for contacts.
Data can be stored in a file, allowing for persistence between sessions. To enhance the system, you
can implement features such as data validation, sorting, and exporting contacts to various formats.
Additionally, integrating a database can enable more robust and scalable solutions for handling
contacts. Overall, the system aims to efficiently manage personal or business contacts, making it
easy for users to organize and access their contact information.
DRAWBACKS
• Limited features
• Data security
• Data synchronization
• User interface
• Scalability
• Data backup and recovery
• Maintenance and updates
• Cross-platform compatibility
• Integration with other software
• Learning curve
11
PROPOSED SYSTEM
The proposed system is a modern and user-friendly contact book application built using the
Python programming language. This contact book aims to provide an efficient and secure platform
for managing personal and professional contacts. Users will benefit from a rich set of features,
including the ability to add, edit, and delete contacts, organize them into categories, and search for
specific individuals quickly. The system will emphasize data security, implementing encryption
and access control mechanisms to safeguard sensitive contact information. It will also feature an
intuitive user interface, making it easy for users to interact with their contacts, and provide cross-
platform compatibility to ensure accessibility from various devices and operating systems.
Additionally, data synchronization will be a key focus, enabling users to keep their contacts up to
date across multiple devices. Regular maintenance and updates will ensure the system's
performance, security, and functionality, and it will serve as a versatile tool for individuals and
professionals to streamline their contact management needs.
ADVANTAGES
• Customization
• Open Source Libraries
• Community Support
• Data Security
• Community Contributions
• Rapid Development
• Maintainability
FEASIBILITY STUDY
The feasibility study for the development of a contact book using Python demonstrates the
viability and potential benefits of this project. From a technical perspective, Python's rich
ecosystem of libraries and its cross-platform compatibility make it a suitable choice for building a
contact book application. Python's ease of use and versatility are particularly advantageous for
12
creating a user-friendly and efficient solution.Feasibility study for a contact book project using
Python typically involves assessing the technical, economic, operational, legal, and scheduling
aspects of the project.
Technical Feasibility:
Assess the technical capability of using Python to create a contact book. This includes
evaluating Python libraries and tools for GUI development, data storage, data security, and cross-
platform compatibility.
Economic Feasibility:
Determine the cost associated with the development, maintenance, and potential
scalability of the project. Consider the budget, resources, and whether open-source tools can be
leveraged to reduce costs.
Scheduling Feasibility:
Create a timeline for the project, considering deadlines and resource availability. Ensure
that the project can be completed within a reasonable time frame.
Market Feasibility:
Determine if there is a market need for your contact book. Research existing solutions and
understand user preferences and expectations.
Alternative Solutions:
Consider alternative technologies or approaches for developing the contact book and
weigh their pros and cons against using Python.
13
CHAPTER 3
INPUT DESIGN
In an information system, input is the raw data that is processed to produce output.
During the input design, the developers must consider the input devices such asPC, MICR,
OMR, etc.
14
OUTPUT DESIGN
Output Design generally refers to the results and information’s that aregenerated by
the system for many end-users, output is the main reason for developing the systemand the basis
on which they evaluate the usefulness of the application.
15
MODULES DESCRIPTION
Create a GUI: Use Tkinter to design a user interface where users can add, view, update, and delete
contacts. You can create text entry fields, labels, buttons, and lists to display contacts.
Database Operations: Use SQLite to create a database to store contact information. You'll need to
set up tables to hold contact details (e.g., name, phone number, email).
Add Contacts: Create a function to input contact details and insert them into the database.
View Contacts: Retrieve and display contacts from the database in your GUI. You can use SQL
Update Contacts: Allow users to edit contact information, and update the database accordingly.
Search Contacts: Add a search functionality to find specific contacts in your contact book.
Error Handling: Implement error handling to deal with exceptions like incorrect data input or
User Feedback: Provide appropriate feedback to the user, such as success messages, error
Run the Application: Create a Python script that initializes the GUI, sets up the database, and
16
CHAPTER 4
SYSTEM TESTING AND IMPLEMENTATION
SYSTEM TESTING
System testing for our Python contact book begins with unit tests to validate individual
components like adding, updating, or deleting contacts. Integration tests then ensure these
components work together seamlessly. We assess data storage integrity, handling duplicates, and
user input validation. Functional tests check if features like search and sorting function as
expected. Performance testing evaluates system response times and resource consumption.
Usability testing ensures a user-friendly interface. Security testing examines data protection
measures. Finally, regression testing guarantees that new updates do not break existing features.
Thorough testing is crucial to deliver a robust and reliable contact book system.
• Write Code
• System Testing
• Run Tests
• Documentation
IMPLEMENTATION
Implementing a contact book system in Python can be a valuable project that combines
various programming concepts such as data structures, file handling, and user interaction. The
17
system typically revolves around storing and managing contact information, including names,
phone numbers, email addresses, and more
import *import
random import
time
messagebox
import sqlite3
These are the main modules required for the project including Tkinter,
random,time, and SQLite.
18
SAMPLE CODE
contacts = {}
def add_contact():
def view_contact(name):
contact = contacts.get(name)
if contact:
print(f"Name: {name}")
print(f"Phone: {contact['Phone']}")
print(f"Email: {contact['Email']}")
else:
# Main loop
while True:
19
print("1. Add a contact")
print("3. Exit")
if choice == "1":
add_contact()
name = input("Enter the name of the contact you want to view: ")
view_contact(name)
break
else:
CONCLUSION
we have create a simple Contact Book project in Python, you can alternatively
call it as phone book or address book because it saves mobile numbers and addresses
too.You can customize this address book by adding more entries to this form like contact
book, like adding city, state, date of birth, salary, number of family members, etc.
It allows you to apply various programming concepts such as data storage, user interfaces, and
data manipulation. By using libraries like Tkinter for the GUI and SQLite for database management,
you can build a functional and user-friendly contact book.
20
FUTURE ENHANCEMENTS
BIBLIOGRAPHY
TEXT BOOKS
Author(s). (Year). Title of the source. Publisher (for books) or Name of Website. URL (for online
sources).
For example:
Smith, J. (2021). User-Centered Design for Contact Book Applications. Contact Book Publishing.
Johnson, M. (2020). Contact Book Project Management: Best Practices. Journal of Software
Development, 15(2), 123-136.
WEB REFERENCE
https://pythongeeks.org/python-contact-address-book-project/
https://realpython.com/python-contact-book/
https://www.studytonight.com/python-projects/contact-book-python- project
21
SOURCE CODE
# Create an empty dictionary to store contacts
contacts = {}
contacts[name] = phone
def search_contact(name):
if name in contacts:
else:
22
def list_contacts():
if contacts:
print("Contacts List:")
else:
def delete_contact(name):
if name in contacts:
del contacts[name]
else:
while True:
23
print("\nContact Management System")
print("5. Exit")
if choice == '1':
add_contact(name, phone)
search_contact(name)
list_contacts()
24
elif choice == '4':
elete_contact(name)
break
else:
25
SCREENSHOTS
SAMPLE INPUT
26
SAMPLE OUTPUT
27
CONTACT BOOK
28
ADD CONTACT
SEARCH CONTACT
29
LIST CONTACTS
30
DELETE CONTACT
EXIT
31