https://github.com/code-jl/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.
https://github.com/code-jl/inventory-manager
asset-management cli command-line cpp cpp17 csv data-persistence data-storage file-io filesystem inventory-control inventory-management inventroy-system item-tracking stock-management
Last synced: about 1 year ago
JSON representation
A robust C++ inventory management system that allows users to create, modify, and track inventory items with detailed information and persistent storage capabilities.
- Host: GitHub
- URL: https://github.com/code-jl/inventory-manager
- Owner: Code-JL
- License: mit
- Created: 2024-12-04T02:07:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-05T23:30:29.000Z (about 1 year ago)
- Last Synced: 2025-01-06T00:23:16.115Z (about 1 year ago)
- Topics: asset-management, cli, command-line, cpp, cpp17, csv, data-persistence, data-storage, file-io, filesystem, inventory-control, inventory-management, inventroy-system, item-tracking, stock-management
- Language: C++
- Homepage:
- Size: 35.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
```bash
git clone https://github.com/yourusername/Inventory-Manager.git
```
2. Navigate to the project directory:
```bash
cd Inventory-Manager
```
3. Compile the program:
```bash
g++ inventory_manager.cpp src/item_class.cpp src/save_load.cpp -o inventory_manager
```
## Usage
1. Run the compiled program:
```bash
./inventory_manager
```
2. Main Menu Options:
- Create new inventory
- Load existing inventory
- Modify settings
- Manage items
- Save/Export inventory
- File Structure
## File Structure
```bash
.
├── 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](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