This Python project simulates a warehouse inventory management system similar to Amazon's warehouse. It allows users to add, remove, update items, generate fake data using Faker, and save/load data to/from a CSV file.
- Add Item: Add a new item to the inventory.
- Remove Item: Remove an item from the inventory.
- Update Item: Update the quantity, expiration date, or price of an existing item.
- View All Items: Display all items currently in the inventory.
- Sort Items by Expiration Date: Sort and display items based on their expiration dates.
- Generate Fake Data: Automatically generate fake inventory data using Faker.
- Save/Load Data: Data is saved and loaded from a CSV file (
warehouse_inventory.csv
).
- Python 3.x
- Faker library (
pip install faker
)
-
Clone the repository:
git clone <repository_url> cd <repository_name>
-
Generate Fake Data: Run
generate_fake_data.py
to populatewarehouse_inventory.csv
with fake data.python generate_fake_data.py
-
Run the Warehouse Management System:
python main_project.py
-
Follow the on-screen instructions to interact with the system:
- Add, remove, update items.
- View all items or sort them by expiration date.
- Use the search function to find specific items.
Here's an example of how to add an item using the command line interface:
$ python main_project.py
Warehouse Inventory Management
1. Add Item
2. Remove Item
3. Update Item
4. View All Items
5. Sort Items by Expiration Date
6. Get Full Report
7. Get Expired Items
8. Search for an Item
9. Exit
Choose an option: 1
Enter item name: Laptop
Enter quantity: 10
Enter expiration date (YYYY-MM-DD): 2024-12-31
Enter price: 999.99
Item 'Laptop' added successfully.
This project is licensed under the MIT License - see the LICENSE file for details.
- Replace
<repository_url>
and<repository_name>
with your actual repository URL and name. - Ensure to update the example with relevant command outputs and interactions based on your project's functionality.
This README template provides a structured overview of your project, including installation instructions, usage examples, and licensing information. Adjust it further based on any specific details or additional features your project may have.