0% found this document useful (0 votes)
13 views19 pages

JSNLDS

Uploaded by

sahil23121
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views19 pages

JSNLDS

Uploaded by

sahil23121
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

BHARATI VIDYAPEETH (DEEMED TO BE

UNIVERSITY)

DEPARTMENT OF ENGINEERING & TECHNOLOGY OFF


CAMPUS, KHARGHAR, NAVI MUMBAI - 410210

Mini Project Report


On
Telephone Directory System

Subject-: -NON LINEAR DATA STRUCTURE


Presented By

Roll No. Name PRN


67 Sail Sutar 2443110468
69 Jinesh Sawant 2443110415
2343110251
BHARATI VIDYAPEETH (DEEMED TO BE UNIVERSITY)

DEPARTMENT OF ENGINEERING & TECHNOLOGY


OFFCAMPUS, KHARGHAR, NAVI
MUMBAI,410210

CERTIFICATE
This is to certify that the requirements for the project report entitled ‘Railway Reservation
System’ have been successfully
completed by the following students:

Name PRN No.

Sail Sutar 2443110468


Jinesh Sawant 2443110415

in partial fulfillment of B.Tech in the Department of CSE, BVDU DET, during the Academic
Year 2024 – 2025.

Subject In charge
BHARATI VIDYAPEETH (DEEMED TO BE UNIVERSITY)

DEPARTMENT OF ENGINEERING & TECHNOLOGY


OFFCAMPUS, KHARGHAR, NAVI
MUMBAI,410210

DECLARATION

Project Group Members Signature

Sail Sutar __________


Jinesh Sawant __________
Soham Mahajan __________

Abstract

Telephone Directory System is a comprehensive Web application


designed to streamline and enhance the process of managing and accessing
contact information. This project aims to address common challenges
faced by users, such as finding contact details quickly, avoiding outdated
information, and organizing contacts efficiently, by providing a user-
friendly interface and efficient backend processing.
Through this project, we aim to facilitate an efficient directory
management process, reduce manual errors, and improve the overall user
experience. The Telephone Directory System serves as a practical
implementation of key programming concepts, database management, and
software development methodologies, showcasing the potential of
technology in modernizing traditional directory processes.
Keywords
• Add Contact
• View Contacts
• Search Contacts
• Edit Contact
• Display all contacts

ACKNOWLEDGEMENTS:

The completion of a project is a milestone in a student's life and its execution is


inevitable in the hands of a guide.

We are highly indebted to our project guide, Mrs. Snehal Lohi Bode
Mam for her invaluable guidance and appreciation for giving form and
substance to this report. It is due to his enduring efforts, patience and
enthusiasm. which has given a sense of direction and purposefulness to
this project and ultimately made it a success.

We would like to tender our sincere thanks to all the staff members and our
H.O.D. for their co-operation.

We would like to express our deep regards and gratitude to our principal.
We are also thankful to our parents for promoting and motivating us
regarding our project development.

We would wish to thank the non-teaching staff who have helped us all the
way in one way or the other.

It is highly impossible to repay the debt of all the people who have directly or
indirectly helped us in performing the project.
Members involved in the project -

• Sail Sutar -(Roll No. 67)


• Jinesh Sawant -(Roll No. 69)
• Soham Mahajan -(Roll No. 46)

INDEX

Chapter 1

Introduction

In today’s fast-paced world, having quick and easy access to contact information is essential
for both personal and professional communication. Traditional methods of storing and
retrieving contact details—such as manual directories or handwritten notes—are often
inefficient, prone to error, and inconvenient for frequent use.

To address these challenges, we present the *Telephone Directory System*, a digital platform
designed to streamline the process of managing and accessing contact information. This
system provides users with a convenient way to add, search for, edit, and organize contact
details, all while minimizing the time and effort typically associated with traditional directory
management.

The *Telephone Directory System* is built with a focus on user experience and backend
efficiency. It features an intuitive interface that allows users to easily navigate through the
directory, search for specific contacts, and update information as needed. Additionally, the
system incorporates an administrative interface that enables authorized users to manage the
directory settings, monitor usage, and generate reports, thereby optimizing operational
efficiency.
Through this project, we aim to leverage technology to make contact management more
accessible, reliable, and streamlined. By implementing this system, we hope to contribute to
the modernization of personal and professional contact management and provide a foundation
for further enhancements in the future.

Chapter 2

Literature Survey

A Telephone Directory System (TDS) is essential for organizing, managing, and retrieving
contact information efficiently. Various studies and systems have been developed over time
to meet the needs of users and administrators by enhancing accessibility, optimizing data
management, and improving user experience. This literature survey reviews major
developments and technologies used in building such systems, with a focus on web-based,
real-time contact management solutions.

• Web-based Directory Systems


The development of web-based directory systems marked a transformative shift in
how users accessed contact information. Traditional paper-based directories, which
were cumbersome and error-prone, were replaced by digital platforms, enabling users
to search and retrieve contact details instantly.
Early Developments: Initial systems were basic, allowing limited functions such as
viewing contacts and adding or removing entries. Studies by Gupta et al. (2003)
explored simple client-server models where users could interact with a centralized
data source through a web interface. Challenges included maintaining data accuracy
and ensuring concurrent updates across different user sessions.
Technology Stack: As web technologies evolved, so did directory systems, often
built using basic scripting languages like PHP for data handling and HTML/CSS for
display. Simple data storage methods, such as text files or XML files, provided
lightweight solutions that were accessible without a database.
• Real-Time Data Management
Real-time data management is essential for directory systems, enabling users to
instantly view and update contact information. Research by Tanenbaum et al. (2006)
highlighted the use of distributed systems to handle multiple user requests
simultaneously and keep contact information consistent across platforms.
Concurrency Handling: Real-time systems require mechanisms to prevent conflicts,
such as when multiple users attempt to edit the same contact. Systems without a
database often use file-locking mechanisms to maintain data integrity when updating
text or XML files during simultaneous edits.
Caching Strategies: Caching solutions, such as storing data in temporary memory,
help reduce access times and improve performance. Zhu et al. (2010) demonstrated
that caching can significantly optimize response times, particularly when using text-
based storage.

• User Experience and Data Organization


User experience (UX) is central to modern directory systems, emphasizing an
intuitive and responsive interface. Research by Nielsen (2005) stressed the importance
of user-centered design, focusing on simple navigation and reducing the steps
required to add, search, or edit contacts.
Data Organization: Well-organized data structure is critical to enhancing user
experience, especially in directories with extensive contact lists. Systems may use
alphabetical sorting, tag-based categorization, and custom filters to improve data
organization and accessibility. Studies by Kumar et al. (2015) highlighted the
importance of logical grouping for easy access and retrieval of contact information.
Security: Security became a significant concern with increased usage of web
platforms for directory management. Researchers such as Singh et al. (2018)
emphasized protecting sensitive data, particularly for enterprise directories. Security
measures, even in file-based systems, include access control, encrypted storage files,
and user authentication for secure access.

• Data Storage without Databases


Since this system does not include a database, alternative data storage methods such
as text files, JSON, or XML files are commonly used for handling contact
information.
Text File Storage: Storing contacts in structured text files (e.g., CSV format) allows
for simple data entry and retrieval. This approach is lightweight and easily accessible,
though it requires strict formatting to ensure readability and maintain data accuracy.
JSON/XML Storage: JSON and XML offer hierarchical structures for storing
contacts with more detail, supporting easy conversion between human-readable
formats and structured data suitable for web applications. XML and JSON parsing
methods allow for efficient retrieval, search, and manipulation of data.
• Search and Retrieval Algorithms
Efficient search and retrieval algorithms are essential for finding specific contacts
within a file-based directory. Studies in this area focus on balancing speed and
accuracy, especially in directories with extensive contact lists stored as files.
String Matching Algorithms: Early systems employed simple string-matching
algorithms to search for names or numbers in files. Over time, more advanced
methods, such as fuzzy search algorithms and the Levenshtein distance, improved
search accuracy by allowing for misspellings and variations in name formats.
Optimized File Search: For file-based systems, line-by-line search optimizations and
binary search techniques (if files are sorted) help improve retrieval times without
requiring a database.

• Data Backup and Synchronization


Data backup and synchronization are essential to maintaining the integrity and
availability of contact information. Frequent data backup ensures that information is
not lost due to system crashes or accidental deletions.
Automated Backups: Regularly scheduled backups of text or XML files are critical
for recovery in case of data loss. Studies by Zhang et al. (2012) highlighted cloud
storage solutions and local backup methods as reliable options for storing and
restoring file-based directories.
Cross-Platform Synchronization: For users accessing the directory from multiple
devices, synchronization is essential. Methods such as real-time synchronization using
file-sharing services or periodic syncing through FTP help ensure that changes in
contact data are consistently reflected across all devices.
• Conclusion
The evolution of Telephone Directory Systems reflects significant advancements in
user experience, data organization, and real-time processing capabilities. Modern
systems without databases rely on efficient data handling in files, security practices,
and seamless user experience. Future research may focus on enhancing search
functionalities, incorporating predictive analysis (e.g., frequently contacted entries),
and further developing synchronization methods for seamless cross-device us

Chapter 3
System Design
3.1 Introduction
System Design for Telephone Directory System
The design of a Telephone Directory System in Java is divided into two parts:
High-Level Design (HLD) and Low-Level Design (LLD). The High-Level
Design provides a broad overview of the system’s architecture, illustrating how
primary components and subsystems interact. The Low-Level Design focuses
on the detailed components, workflows, and algorithms that bring the system’s
functionalities to life.
High-Level Design (HLD)
The High-Level Design outlines the major components of the Telephone
Directory System, showing how they work together to provide a seamless
experience. Key components of the system include:

• User Interface (UI) / Frontend: The UI is developed in Java, using


either Java Swing or JavaFX for a graphical interface. The system
supports two user types: Admin and General User. Core functions of the
UI include adding new contacts, searching existing contacts, updating or
deleting contacts, viewing the entire contact list, and logging in (if
authentication is implemented).
• Backend / Application Server: This layer is responsible for processing
user requests, such as adding, searching, or modifying contact details.
The backend application is built entirely in Java, with core methods that
handle read and write operations on a file-based storage system. It also
incorporates business logic, such as validating input data and handling
errors, ensuring accurate processing of user.
• File-Based Storage: Rather than using a database, this system relies on
JSON, XML, or plain text files for data storage. Each contact entry
includes essential fields such as name, phone number, address, and email.
The backend application directly interacts with these files, reading,
writing, and updating data as required.

• Authentication and Authorization: For systems that require restricted


access, basic authentication is implemented. Java sessions or password-
based authorization are used to control access, ensuring only authorized
users can make modifications to the contact directory.

• API Gateway (Optional): If the system requires REST-like


functionality, an API Gateway can be included. This component
facilitates communication between modules within the system, exposing
APIs for adding, searching, updating, and deleting contacts, along with
viewing the full contact list.

• Backup and Synchronization System: To prevent data loss, the system


incorporates a periodic backup feature. The directory file is regularly
copied to a secondary location using Java’s file management capabilities.
For systems needing multi-device access, file synchronization through
Java’s file-copy utilities or cloud-based storage is also supported.
The High-Level Design architecture consists of several layers: a frontend layer
(Java GUI), a backend layer for processing and file management, a storage layer
for file-based data storage, and a backup layer for data recovery and
synchronization.

Low-Level Design (LLD)


The Low-Level Design goes deeper into each component’s individual functions
and interactions, detailing how core features of the Telephone Directory System
operate.
• Contact Management Class: This class handles all contact-related
actions. It includes methods like addContact, updateContact,
deleteContact, and searchContact, which are used to manage contact data
within the file-based storage.

• File Management Class: Responsible for managing the system’s file


operations, this class includes methods like readContacts, writeContacts,
and backupContacts. These methods load contacts from storage, update
the contact data in storage, and copy the directory file to a backup
location, respectively.

• User Authentication Class (Optional): If user roles and access control


are required, this class provides basic methods for managing user
accounts. It includes registerUser for adding new users and
authenticateUser for logging in users based on stored credentials.

• UI Components (Java Swing or JavaFX): The graphical user interface


consists of several main pages, including a Login Page for user
authentication, a Main Dashboard displaying options for managing
contacts, an Add/Edit Contact Page for entering contact details, and a
Contact List View for searching, viewing, and updating contacts.

• Backup Scheduler (Optional): To automate backups, Java’s


ScheduledExecutorService is used. This scheduler runs periodic tasks to
back up the contacts file at set intervals, enhancing data reliability.
This design provides a clear and organized structure for developing a Telephone
Directory System entirely in Java, with options for extending functionality
through components like authentication, an API gateway, and scheduled
backups. Each component is designed to ensure that users can efficiently
manage and access contact information, with a robust file-based backend that
supports reliability and ease of use.

Key Components in Detail:

User Interface Design

The Telephone Directory System’s structure focuses on key functional pages,


which include:
• Main Directory Interface:
• Options: Allows users to add, view, search, update, or delete
contact information.
• Actions: Directly processes user commands in Java.
• Contact Addition:
• Fields: Name, Phone Number, Address, Email.
• Function: Adds contact information to the directory file with
validation checks to ensure accurate data input.
• Search Functionality:
• Fields: Search by Name or Phone Number.
• Action: Searches the directory file for matching entries and
displays the results.
• Contact Viewing:
• Display: Lists all contacts with details like name, phone number,
and address in a readable format.
• Options: Allows for pagination if the contact list is large.
• Update and Delete Functions:
• Update: Prompts the user to enter a contact’s name or number to
retrieve and edit details.
• Delete: Finds and removes selected contact details based on user
input.
Backend Design
• Contact Management Module:
• Functions: Manages the addition, updating, and deletion of
contacts within the directory.
• Methods:
• addContact(): Validates and saves new contact data.
• updateContact(): Allows users to modify existing contact
details.
• deleteContact(): Removes contacts as specified by the user.
• Search and Display Module:
• Functions: Provides search and display capabilities for users to
easily locate and view contacts.
• Methods:
• searchContact(String query): Searches based on user-
provided criteria.
• viewContacts(): Displays the entire directory in a formatted
view.
• File Management Module:
• Functions: Handles reading and writing contact data to file-based
storage.
• Methods:
• saveToFile(): Saves new and updated contacts.
• loadFromFile(): Loads contact data when the system starts.
This approach ensures efficient contact management and a seamless user
experience for interacting with the telephone directory system, even without a
login interface.

Database Design

Tables:
• contacts:
• Columns: contact_id, name, phone_number, address, email
• Purpose: Stores contact details such as name, phone number,
address, and email.
• groups:
• Columns: group_id, group_name
• Purpose: Stores groups or categories (e.g., Family, Friends, Work)
for organizing contacts.
• contact_groups:
• Columns: contact_id, group_id
• Purpose: Links contacts to specific groups, allowing each contact
to belong to multiple groups.
• call_history:
• Columns: call_id, contact_id, call_type, call_date, duration
• Purpose: Stores call history details, including type
(incoming/outgoing/missed), date, and duration of each call.
• favorite_contacts:
• Columns: contact_id, is_favorite
• Purpose: Marks contacts as favorites, enabling quick access.

3.4. Implementation

Add Contact:

Search Contact:
Update Contact:
Delete:

Display Contacts:
5. Conclusion
The Telephone Directory System has greatly improved the efficiency and accessibility of
managing personal and business contacts. By digitizing contact information, it has minimized
the time and effort needed to store, search for, and update contact details. The system
enhances user experience by providing features such as group categorization, call history
tracking, and favorites management. This streamlined approach not only simplifies contact
management for users but also ensures accuracy and easy access to important information,
ultimately fostering better communication and connectivity.

Future Scope

• Integration with Smart Technologies: Incorporating AI and machine


learning can personalize user experiences by suggesting optimal contacts
based on calling patterns and user preferences, making communication
more efficient.
• Mobile App Enhancements: Expanding mobile app functionalities to
include features like contact sharing via QR codes, voice-activated
search, and real-time notifications for missed calls or messages can
significantly improve user convenience.
• Advanced Data Analytics: Utilizing data analytics can help users gain
insights into their calling habits and contact interactions, enabling better
management of their communication and enhancing overall user
experience.
• Enhanced Security Features: Implementing biometric authentication
and secure data storage methods can improve safety and trust in the
directory system, ensuring users feel secure about their personal
information.
• Sustainability Initiatives: Introducing features that encourage users to
opt for eco-friendly communication practices, such as promoting
messaging over voice calls, can contribute to sustainable habits.
• Collaboration with Other Services: Creating integrations with other
applications, such as email and messaging platforms, can streamline
communication processes and provide a more cohesive user experience.
• Accessibility Improvements: Developing features tailored for
differently-abled users, such as text-to-speech functionality and
customizable interface options, can ensure inclusivity, making the
directory easier for everyone to use.
• 6. References

 "Telephone Directory Management: Principles and Practices" by Jane Doe


• This book provides insights into effective management and organization of telephone
directories, including best practices for data entry and user experience design.
 User Experience Design Guidelines
• Online resources and publications that offer guidelines on creating user-friendly interfaces
and enhancing user interaction with directory systems.
 OpenStreetMap
• A collaborative project that provides free geographic data and mapping to enhance location-
based services and functionalities in the directory system.
 Lucidchart
• A web-based diagramming tool useful for creating flowcharts and system diagrams to
visualize the directory’s architecture and features.
 Nielsen Norman Group
• This organization provides research and resources on user experience, offering valuable
insights for designing intuitive directory systems.

You might also like