Skip to content

PritishReddy18/python-cli-contact-book

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contacts Book Enhanced

A secure and user-friendly command-line contacts management application that allows users to manage their contacts with authentication.

Features

  • 🔐 User Authentication

    • Secure signup and login system
    • Password hashing for security
    • Session management
  • 📝 Contacts Management

    • Add new contacts
    • View all contacts in a formatted way
    • Delete existing contacts
    • Input validation for contact information
  • 🛡️ Security

    • Password encryption
    • Input sanitization
    • User session handling
  • 📂 Data Storage

    • JSON-based data storage
    • Separate storage for users and contacts
    • Organized file structure

Prerequisites

  • Python 3.8+
  • No additional dependencies required (uses standard library only)

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd contacts_book_enhanced
  2. (Optional) Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate

Usage

  1. Run the application:

    python -m src.app.main
  2. Choose from the following options:

    • Sign up for a new account
    • Login with existing credentials
    • Exit the application
  3. After logging in, you can:

    • View all your contacts
    • Add new contacts
    • Delete existing contacts
    • Logout or Exit

Project Structure

contacts_book_enhanced/
├── data/
│   └── json_data/
│       ├── contacts.json    # Stores contact information
│       └── user.json        # Stores user authentication data
├── src/
│   ├── app/
│   │   ├── contacts/       # Contact management modules
│   │   ├── data_manager/   # Data handling and configuration
│   │   ├── repository/     # Data storage operations
│   │   ├── security/       # Authentication and encryption
│   │   ├── user_auth/      # User authentication modules
│   │   ├── utils/          # Utility functions
│   │   ├── validators/     # Input validation
│   │   ├── main.py         # Application entry point
│   │   └── user_menu.py    # Main menu interface
│   └── contacts_book_enhanced.egg-info/
└── README.md

Security Note

  • Passwords are hashed before storage
  • User sessions are managed securely
  • Input validation is implemented throughout the application

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is open source and available under the MIT License.

Support

For support, please open an issue in the repository.

About

A Python CLI-based contact management system with authentication and JSON persistence

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages