Skip to content

yvesmanalo/cli-inventory-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

CLI Inventory Manager

CLI inventory manager welcome page

Project overview

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.

Objectives

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

Features

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

Data Structure Design

Each item is stored as a dictionary:

{
  "id": ("ITM001",),
  "name": "Laptop",
  "category": "Electronics",
  "quantity": 5,
  "status": "Pending",
  "stock_status": "Available"
}

Status Logic

Task Status (User-controlled)

  • Pending
  • Completed

Stock Status (Auto-calculated)

  • Quantity = 0 → Out of Stock
  • Quantity < 5 → Low Stock
  • Quantity ≥ 5 → Available

Sample Outputs

1. Main Menu

Main Menu page

2. Add items

Add items page

3. View items

View items page

3. Update item status

Update item status page

4. Summary Dashboard

Summary dashboard page

5. Exiting CLI

Exiting cli page

Project Structure

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

How to Run

  1. Clone the repository:

    git clone https://github.com/yvesmanalo/cli-inventory-manager.git

  2. Navigate to the project folder:

    cd cli-inventory-manager

  3. Run the program:

    python main.py

Key Learnings

  • 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

About

A command-line Inventory Manager built with Python, demonstrating core programming concepts such as lists, dictionaries, sets, tuples, and conditional logic. The application allows users to manage items, track inventory status, and generate summaries through an interactive CLI workflow.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages