Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pradipece/contact_book_management_system

This project developing a Command-Line Interface (CLI) project using Python for a Contact Book Management System.
https://github.com/pradipece/contact_book_management_system

cli filesystem python system-design

Last synced: about 1 month ago
JSON representation

This project developing a Command-Line Interface (CLI) project using Python for a Contact Book Management System.

Awesome Lists containing this project

README

        

### OVERVIEW:

This project developing a Command-Line Interface (CLI) project using Python for a Contact Book Management System. The project should apply Python concepts, Graphic User Interface (GUI) or external libraries are not required—everything should run directly in the terminal.

### FEATURES:

Add Contacts:

- Allow users to add contacts with at least the following details: Name, Email, Phone Number, Address, and other details.

Prevent Duplicate Numbers:

- Ensure that multiple names cannot be assigned the same phone number.

View Contacts:

- Display all saved contacts in a well-organized format. A neat and user-friendly presentation is encouraged.

Save to File:

- Store all contact information in your chosen file (e.g., .txt, .csv, etc.).

- Contacts should be automatically saved to the file upon addition.

Load from File:

- Ensure all previously saved contact data is loaded when the program starts.

Remove Contacts:

- Provide an option to delete contacts from the file.

Menu System:

![alt text](docs/images/img1.png)

![alt text](docs/images/img2.png)

Search Contacts:

- Implement functionality to search for specific contacts based on their details.

File Error Handling:

- Display meaningful error messages for invalid inputs, such as:

- The contact’s name must be a string.
- The phone number must be an integer.
- Provide clear guidance to users on resolving input issues.

File Structure:

Organize the project into multiple Python files, each dedicated to specific features or functionalities.

Application Design:

Created a simple architecture or design plan for the application. Use any tool to draw the plan and include the image in the project folder.

![alt text](docs/images/img3.png)

Menu System:

Design an interactive menu with an Exit option for easy navigation all features should be accessible from this menu.

![alt text](docs/images/img4.png)