Skip to content

A robust C++ inventory management system that allows users to create, modify, and track inventory items with detailed information and persistent storage capabilities.

License

Notifications You must be signed in to change notification settings

Code-JL/Inventory-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Inventory Manager

A robust C++ inventory management system that allows users to create, modify, and track inventory items with detailed information and persistent storage capabilities.

Features

  • Item Management

    • Create new inventory items with name, description, quantity, and image path
    • Modify existing items (name, description, quantity, image path)
    • Increment/decrement item quantities
    • Delete items
    • Case-insensitive item search
  • Data Persistence

    • Save inventory to CSV files
    • Load inventory from saved files
    • Export inventory with custom separators
    • Automatic settings management
  • User Interface

    • Interactive command-line interface
    • Clear menu-driven operation
    • Input validation and error handling

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/Inventory-Manager.git
  1. Navigate to the project directory:
cd Inventory-Manager
  1. Compile the program:
g++ inventory_manager.cpp src/item_class.cpp src/save_load.cpp -o inventory_manager

Usage

  1. Run the compiled program:
./inventory_manager
  1. Main Menu Options:
    • Create new inventory
    • Load existing inventory
    • Modify settings
    • Manage items
    • Save/Export inventory
    • File Structure

File Structure

.
├── inventory_manager.cpp    # Main program file
├── src/
│   ├── item_class.h        # Item class declaration
│   ├── item_class.cpp      # Item class implementation
│   ├── save_load.h         # File operations declaration
│   └── save_load.cpp       # File operations implementation
└── save/
    ├── inventory.csv       # Default inventory storage
    └── settings.cfg        # Program settings

Data Storage

  • Inventory data is stored in CSV format
  • Default save location: save/inventory.csv
  • Custom export options available with configurable separators
  • Settings stored in save/settings.cfg

Configuration

  • CSV separator character can be customized through settings
  • Default separator: comma (,)
  • Settings are persistent between sessions

Contributing

  • Fork the repository
  • Create your feature branch (git checkout -b feature/AmazingFeature)
  • Commit your changes (git commit -m 'Add some AmazingFeature')
  • Push to the branch (git push origin feature/AmazingFeature)
  • Open a Pull Request

License

This project is licensed under the terms of the included LICENSE file.

Technical Details

  • Written in C++
  • Uses standard library containers (vector, list)
  • Implements file I/O operations
  • Supports CSV parsing and generation
  • Error handling for file operations and user input

About

A robust C++ inventory management system that allows users to create, modify, and track inventory items with detailed information and persistent storage capabilities.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages