Skip to content

Releases: PritishReddy18/python-cli-contact-book

contact_book v0.1.0 Enhanced

26 Dec 07:40

Choose a tag to compare

🏷️ Release: v0.1.0 – Enhanced Modular Contact Book CLI (Gen-1)
📌 Overview

This release marks a major evolution from the initial single-file Contact Book CLI to a modular, structured, and maintainable Gen-1 version.

The original version focused on core Python fundamentals in a single script.
This enhanced version rebuilds the same idea using clean architecture, separation of concerns, and safer project practices, while remaining a CLI application.

🔄 What Changed from the Previous Version
🟠 Previous Version (Single-File CLI)

Entire application implemented in one Python file

Authentication, contacts, validation, and I/O tightly coupled

Direct JSON handling mixed with business logic

Limited extensibility and maintainability

Early learning-focused structure

🟢 Current Version (Enhanced / Modular CLI)

Fully modular project structure (auth, contacts, utils, validators)

Clear separation of responsibilities:

Authentication logic

Contact management

Input validation

Menu control flow

Improved login / logout flow with proper state handling

Safer data handling:

Runtime data excluded from Git tracking

Environment and cache files ignored

Cleaner control flow using return-based intent instead of forced exits

Ready foundation for future FastAPI migration (Gen-2)

✨ Key Features

Signup, login, logout flow

Password validation and change handling

Contact add, view, and delete

Defensive input validation

Modular, interview-ready codebase

Clean Git hygiene (.gitignore, no runtime artifacts)

🧠 Design Notes

This is a Gen-1 CLI application focused on correctness, structure, and maintainability.

No web framework or external services are used by design.

Runtime data is created locally when the application runs and is not committed to the repository.

The earlier version is preserved in Git history to show project evolution.