This project is a Command-Line Interface (CLI) Inventory Manager built using Python. It demonstrates core programming fundamentals by allowing users to manage items, track inventory status, and generate summaries through an interactive terminal-based workflow.
The application was developed as part of foundational Python practice, focusing on data structures and control flow.
This project was designed to apply and demonstrate the following Python concepts:
- Lists and list operations
- Dictionaries and dictionary methods (.keys(), .values(), .items())
- Sets for unique data handling
- Tuples for structured identifiers
- Conditional and comparison operators
- Workflow design using functions and user input
1. Add Items
- Add new inventory items with:
- ID (tuple-based)
- Name
- Category
- Quantity
- Status (Pending by default)
- Prevents duplicate item names using a set
2. View Items
- Displays all items with full details:
- ID, Name, Category, Quantity
- Status (item status)
- Stock Status (auto-calculated)
3. Update Status
- Update the status of an item (e.g., Pending → Completed)
4. Summary Dashboard
- Displays:
- Total number of items
- Unique categories (using sets)
- Items per category (frequency count)
5. Exit Application
- Cleanly exits the program
Each item is stored as a dictionary:
{
"id": ("ITM001",),
"name": "Laptop",
"category": "Electronics",
"quantity": 5,
"status": "Pending",
"stock_status": "Available"
}
- Pending
- Completed
- Quantity = 0 → Out of Stock
- Quantity < 5 → Low Stock
- Quantity ≥ 5 → Available
1. Main Menu
2. Add items
3. View items
3. Update item status
4. Summary Dashboard
5. Exiting CLI
cli-inventory-manager/
│
├── main.py
├── README.md
└── images/
├── main-menu.png
├── add-items.png
├── view-items.png
├── update-item-status.png
├── summary-dashboard.png
└── exit-cli.png
-
Clone the repository:
git clone https://github.com/yvesmanalo/cli-inventory-manager.git -
Navigate to the project folder:
cd cli-inventory-manager -
Run the program:
python main.py
- Implemented structured data storage using dictionaries and lists
- Used sets to enforce uniqueness (categories, item names)
- Applied conditional logic to automate stock status
- Built a CLI workflow using functions and user input
- Practiced modular programming and basic validation






