Skip to content

raghav-patidar1/book-store-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š BookStore Manager CLI

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.

✨ Features

  • 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.

🧠 Concepts Used

  • 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

πŸ“‚ Project Structure

  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

πŸš€ How to Use

1. Clone the Repository

git clone https://github.com/raghav-patidar1/book-store-manager.git

cd book-store-manager

2. Run the Application

python main.py

About

Manage bookstore inventory via a clean, modular, OOP-based Python CLI app.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages