Skip to content

Implemented a contact book using primarily trie, and some other auxiliary data structures.

Notifications You must be signed in to change notification settings

Shubhankar1004/Contact-Book

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Contact-Book

Aim : To consolidate concepts of DSA, especially Trie, including implementing Terminal based GUI.

Motivation :

I was intrigued by how the contacts app in the smartphones that we use everyday actually works. Moreover being a complete fanatic about organising my details right from google contacts to google photos I surely wanted to know the working and implement it myself.

Functionalities

-Just like how when we talk in the real world, we might want to save somebody's contact details. But I also wanted to make sure of my contacts to not be accessible just by any random stranger, hence I tried to make sure that my phonebook app is secure and hence included an Account-type interface, i.e., a particular account can have an independent phonebook directory of its own which can be accessed only with the right combinations of password and username.

-The user can login into an existing account, or create one if he/she wishes to.

-He can add contacts, which includes the name, the phone number and the email.

-Now think about if you forgot how you saved your contact, you can't remember the right spelling, you would want your app to be smart enough to suggest you with names right? That is what I have tried to implement here as well, an auto-suggesting feature.

-A delete and edit feature if you have made mistakes in storing the contact, I have also tried to implement checking of valid phone numbers and emails through regex matching.

-The user can view the most frequently contacted contacts, this is to mimic how Speed Dial actually works in our smartphones. The logic is based on which contacts you have accessed the most number of times.

-Also implemented colouring of various aspects of terminal display using ANSI escape characters, including concepts from threading to initialise real world-like interface and waiting intervals.

Data Structures Used

Trie, Hash maps, vectors and other auxiliary data structures

About

Implemented a contact book using primarily trie, and some other auxiliary data structures.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages