Skip to content

This project is an Inventory Management System built in C++ that uses AVL Trees to maintain a balanced Binary Search Tree (BST) structure. By using AVL Trees, the system ensures efficient addition, deletion, and search operations, keeping inventory management quick and organized.

License

Notifications You must be signed in to change notification settings

AbdulAHAD968/Stock-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 Inventory Management System Using Binary Search Tree

This project implements an Inventory Management System using a Binary Search Tree (BST) in C++. Designed for a warehouse setting, the BST stores items based on unique item IDs, allowing efficient stock management, price queries, and bulk data handling.

🚀 Features and Requirements

The project consists of four main tasks, each addressing crucial aspects of warehouse inventory management using BST based on AVL-Tree conscept to keep the tree in binary search tree format with Balance Factor = [-1,0,1].


🧩 Part 1: Basic Inventory Operations.

Each node in the BST represents an item with attributes including:

  • item_id: Unique integer (key for BST).
  • item_name: Product name (string).
  • item_description: Description of the item.
  • quantity: Units available in stock.
  • price: Price per unit.

Operations

  1. Insert an Item: Adds a new item to the inventory, maintaining BST structure using item_id.
  2. Search for an Item: Retrieves item details using item_id.
  3. Delete an Item: Removes an item from the inventory based on item_id.
  4. Update Item Information: Allows updating the quantity and price of an item by searching via item_id.

📊 Part 2: Stock Management Operations.

  1. Check Stock Availability: Verifies if an item is in stock and returns its quantity.
  2. Low Stock Alert: Lists items with fewer than 3 units, enabling proactive restocking.
  3. Restock Item: Allows restocking an item by adding a specified quantity to the existing amount.

💰 Part 3: Price and Range Queries.

  1. Find Items within a Price Range: Returns items within a specified price range [min_price, max_price].
  2. Find the Cheapest Item: Finds and returns the item with the lowest price.
  3. Find the Most Expensive Item: Finds and returns the item with the highest price.

📂 Part 4: Bulk Insertions and Updates from CSV.

The system supports bulk data operations from a CSV file, with each entry including item information.

  • Existing Items: If the item exists, updates attributes if values differ.
  • New Items: Adds new items if not found in the tree.

📜 System Requirements

  • Programming Language: C++
  • Data Structure: Binary Search Tree (BST)

🛠️ Setup and Usage

  1. Clone the repository:
    git clone https://github.com/yourusername/InventoryManagementBST.git
    
  2. Command for execution:
    g++ 23i-2014_B.cpp [To compile]
    ./a.out or ./a.exe [To Execute]
    

⚠️ Errors and Omissions

If you encounter any errors, bugs, or have suggestions for improvements, feel free to reach out to me.

You can contact me via email at: [email protected]

💬 Let's Connect!

I’m open to collaborative projects in cybersecurity, programming, or knowledge-sharing initiatives. Feel free to reach out if you’d like to discuss ideas or explore ways we can work together.

Looking forward to connecting!

About

This project is an Inventory Management System built in C++ that uses AVL Trees to maintain a balanced Binary Search Tree (BST) structure. By using AVL Trees, the system ensures efficient addition, deletion, and search operations, keeping inventory management quick and organized.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published