A clean, scalable, and modular Command-Line Interface (CLI) project built using Python. It demonstrates real-world OOP principles such as inheritance,abstraction, encapsulation, access specifiers, custom exceptions, custom iterators, decorators and magic methods, with a strong focus on project architecture and maintainability.
-
Add new books with proper validations.
-
Remove books by Title or ISBN.
-
View all books in the store.
-
Filter books by author, title, and price.
-
Custom Exception Handling.
-
Input validation and error messages.
-
Designed with a modular structure for easy scaling and maintenance.
-
Object-Oriented Programming (OOP)
-
Abstract Base Classes (abc)
-
Custom Decorators
-
Custom Iterators (iter, next)
-
Custom Exceptions
-
Property Decorators (@property)
-
Modular Code Organization
-
CLI Input Validation
book-store-manager/
β
βββ bookstore/ # Package containing all core modules
β βββ __init__.py # Package initializer
β βββ models.py # Book model with validation
β βββ store.py # BookStore manager class
β βββ utils.py # Decorators and utility functions
β βββ exceptions.py # Custom exceptions
β
βββ main.py # CLI runner script
βββ .gitignore # Files/directories to ignore in Git
βββ README.md # Project documentation
git clone https://github.com/raghav-patidar1/book-store-manager.git
cd book-store-manager
python main.py