Releases: PritishReddy18/python-cli-contact-book
contact_book v0.1.0 Enhanced
🏷️ 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.